- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章pyx文件 生成pyd 文件用于 cython调用的实现由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
pyx文件是python的c扩展文件,代码要符合cython的规范,用什么编辑器写都行。我在eric4上写的,结果它默认用python解释器来进行解释,还提示有bug,“语法错误”.
上面的pyx文件还仅仅是源代码文件,要想被python调用、要想运行,仅仅写了源代码还是不够的。具体来说,还要转成.c或者.c++的文件,并且再进一步转成.pyd文件.
pyd文件才是可以直接使用的文件。为了达到上述目的,就要写一个setup.py脚本,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#!/usr/bin/python
#python version: 2.7.3
#Filename: SetupTestOMP.py
# Run as:
# python setup.py build_ext --inplace
import
sys
sys.path.insert(
0
,
".."
)
from
distutils.core
import
setup
from
distutils.extension
import
Extension
from
Cython.Build
import
cythonize
from
Cython.Distutils
import
build_ext
# ext_module = cythonize("TestOMP.pyx")
ext_module
=
Extension(
"TestOMP"
,
[
"TestOMP.pyx"
],
extra_compile_args
=
[
"/openmp"
],
extra_link_args
=
[
"/openmp"
],
)
setup(
cmdclass
=
{
'build_ext'
: build_ext},
ext_modules
=
[ext_module],
)
|
这个完全是一个python脚本,可以在python解释器下面运行.
在控制台下,运行如下命令‘python setup.py build_ext --inplace',就生成了TestOMP.pyd文件.
当然,同时还有一些杂七杂八的文件,如‘build'目录下面的‘lib'文件.
这都提示着,这是在windows vistual studio环境下.
在linux+gcc环境下,就要生成.so文件了,而且“/openmp”的选项就要写成“-fopenmp” 。
文件上述两个步骤,相当于把某个python效率瓶颈模块(这之前需要用profile工具来定位)用效率更高的代码写成了python的c扩展形式,接下来,就是要在python代码中调用他们。TestOMP.py就是这个调用的脚本,如下:
1
2
|
from
TestOMP
import
Test
Test()
|
这个就很容易了,import并且调用。在控制台下,输入“python TestOMP.py”,运行.
补充:python无法导入Cython的.pyx文件?
在import相应包之前,添加:
1
2
|
import
pyximport
pyximport.install()
|
如果上面安装完成后运行程序又出现 。
No module named pyximport 。
1
|
pip install Cython
|
即可~ 。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我。如有错误或未考虑完全的地方,望不吝赐教.
原文链接:https://blog.csdn.net/darren2015zdc/article/details/54574911 。
最后此篇关于pyx文件 生成pyd 文件用于 cython调用的实现的文章就讲到这里了,如果你想了解更多关于pyx文件 生成pyd 文件用于 cython调用的实现的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我正在尝试构建一个包含 *.pyx 文件的 Python 包 (pyregion),但在构建过程中出现错误。查看以下输出: $ python setup.py build running build
两个pyx文件, f1.pyx cpdef double func1(): return 0.01 f2.pyx from f1 cimport func1 我如何导入 func1来自 f1
似乎PyCharm中的python类型检查器自动适用于.py文件..但不适用于.pyx文件。 有什么方法可以在PyCharm中为.pyx文件启用类型检查器吗? 另外,有什么方法可以将mypy与cyth
我的 pyx 依赖于本地库 我怎样才能pyximport.install()它? pyxinstall 中的自动构建不知道与 native 库链接,因此构建失败... 最佳答案 您还可以使用 .pyx
我正在玩 cython 教程 ( http://docs.cython.org/en/latest/src/tutorial/cython_tutorial.html ) 我有一个这样的目录: som
许多可视化库和语言提供了生成任何颜色的简单方法。例如,您可以简单地添加一个带有 css 颜色代码的样式标签,以在 html 中设置对象的颜色。 是否有类似的方法可以将 pyx 绘图的颜色设置为任何想要
我是 python 的初学者,我也刚刚熟悉 cython。我在 Windows 64 位上使用 Anaconda。我正在尝试按如下方式运行“helloworld”示例: 1- 我构建了一个 hello
如何使用 Pyx 在任意两个点之间绘制一条“支撑”线? 它看起来像这样: Brace example http://tof.canardpc.com/view/d16770a8-0fc6-4e9d-b
我在运行 python 脚本时遇到错误“找不到 parser.pyx:找不到文件”,路径是当前工作目录 +“pandas_libs\parsers.pyx”。我找不到为什么 VsCode 引用 wkd
我只是想得到一个图表,但轴上没有任何数字。比方说: from math import pi from pyx import * g = graph.graphxy(width=8) g.plot(gr
使用此方法编译pyx文件: import pyximport pyximport.install() 执行以下操作后,.pyx 文件不会重新编译和重新加载: pyximport.install() i
我一直在尝试使用 PyX 将太阳的天文符号放在图表上,但没有成功。我的代码如下: from pyx import * from pylab import * x=arange(1,5,0.1)
这个问题在这里已经有了答案: Collapse multiple submodules to one Cython extension (5 个答案) 关闭 2 年前。 我有多个 .pyx 文件,有
我正在尝试在 Python 中的 PyX 模块中运行。 这是一个名为“mplot.py”的简单程序: from pyx import * g = graph.graphxy(width=8) g
我在 cython 中得到了代表 2 个类的 3 个文件: 1. ../src/cython/class1.pyx 2. ../src/cython/class1.pxd 3. ../src/cyth
在我手中,我有一个 .pyc,而不是相应的 .py 或 .pyx。 是否可以对 .pyc 进行 cythonize ? 是否应该先解压为.py,如何解压? 最佳答案 Cython 是 Python 的
我有一组 UTF-8 字符,我想将其插入 PyX 生成的 pdf 文件中。我已将 # -*-coding: utf-8 -*- 添加到文件顶部。代码有点类似于以下内容: # -*- coding: u
我正在尝试从我的 python 源文件创建一个 unix 可执行文件。 我有两个文件,p1.py和p2.py p1.py:- from p2 import test_func print (test_
我正在尝试在 python 3.6 中使用 scapy 来解析 pcap 文件,我正在尝试使用的功能之一是 pdfdump。 from scapy.all import * packets = rdp
pip 知道 pyx 包: $ pip search pyx PyX - Python package for the generation of PostScript and PDF files 尝
我是一名优秀的程序员,十分优秀!