cython编译但没有生成pyd文件

时间:2015-02-23 23:55:15

标签: python-3.x cython

我尝试运行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。

由于

1 个答案:

答案 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