我尝试运行python代码,说myfile.py
(也尝试将其重命名为myfile.pyx
),如下所示:
import pyximport
pyximport.install(setup_args={"script_args":["--compiler=mingw32"]},
reload_support=True)
import myfile
myfile.mycode()
我正在使用PyCharm。代码似乎运行正常,没有任何错误,甚至在PyCharm中的Python控制台上给了我正确的结果。
但是没有生成pyd
(或pxd
)个文件。我怎么知道我的代码(myfile.mycode()
)是通过Cython还是通过常规Python运行的?
我正在使用Python 3.4,Cython 0.21.2。
由于
答案 0 :(得分:1)
使用pyximport时,它将生成一个临时pyd
文件,该文件不在工作目录中。您可能想要构建一个setup.py
,它看起来像:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
ext_modules = [Extension('myfile',
['myfile.pyx'],
)]
setup(
name = 'myfile',
cmdclass = {'build_ext': build_ext},
ext_modules = ext_modules
)
您可以使用以下代码编译:
python setup.py build_ext -i clean