当我尝试在Windows 7下使用Python 3.3(Anaconda 3)构建一个最小的Cython文件test.pyx时,我收到一个奇怪的错误:
C:\Users\myname\Test_cython>python setup.py build
running build
running build_ext
error: [WinError 2] The system cannot find the file specified
当然test.pyx在工作目录中。它在使用Python 2.7(Anaconda)的Windows下运行,在Linux下运行Python 2和3。
Python 3.3(Anaconda 3)可能存在什么问题?
由于
文件setup.py:
from distutils.core import setup
from distutils.extension import Extension
from Cython.Distutils import build_ext
setup(
name = 'test',
cmdclass = {"build_ext": build_ext},
ext_modules = [Extension('test', ['test.pyx'])]
)
解决方案:
我发现包的文件cygwinccompiler.py的第404行disutils
out_string = check_output(['gcc', '-dumpmachine'])
必须更改为
out_string = check_output(['gcc', '-dumpmachine'], shell=True)
然后,它正常编译。
答案 0 :(得分:7)
包的文件cygwinccompiler.py的404行disutils
out_string = check_output(['gcc', '-dumpmachine'])
必须更改为
out_string = check_output(['gcc', '-dumpmachine'], shell=True)
然后,它正常编译。