我正在尝试使用 Python 3.5 和 cython 创建一个 DLL 文件 (.pyd)。我有以下文件:
安装程序.py
from distutils.core import setup
from Cython.Build import cythonize
setup(
name="Helloworld",
ext_modules=cythonize("*.pyx"),
)
你好世界.pyx
print("Hello World!!")
要创建helloworld.pyx
文件,我创建了一个helloworld.py
文件并将其重命名为.pyx
我执行以下操作来生成 DLL 文件:
打开命令提示符
cd 到包含文件的目录
运行命令:python setup.py build_ext
我收到以下错误:
running build_ext
building 'Models.helloworld' extension
error: [WinError 2] The system cannot find the file specified
上述步骤基于从 Web 创建 DLL 文件的过程。我尝试查找错误,但没有收到任何有用的答案。
编辑:
我使用此链接进一步检查了 cygwin 和 MinGW 的安装
现在我收到以下错误:
C:\Model>python setup.py build_ext
running build_ext
Traceback (most recent call last):
File "setup.py", line 6, in <module>
ext_modules=cythonize("*.pyx"),
File "C:\Program Files\Python 3.5\lib\distutils\core.py", line 148, in setup
dist.run_commands()
File "C:\Program Files\Python 3.5\lib\distutils\dist.py", line 955, in run_commands
self.run_command(cmd)
File "C:\Program Files\Python 3.5\lib\distutils\dist.py", line 974, in run_command
cmd_obj.run()
File "C:\Program Files\Python 3.5\lib\distutils\command\build_ext.py", line 307, in run
force=self.force)
File "C:\Program Files\Python 3.5\lib\distutils\ccompiler.py", line 1031, in new_compiler
return klass(None, dry_run, force)
File "C:\Program Files\Python 3.5\lib\distutils\cygwinccompiler.py", line 282, in __init__
CygwinCCompiler.__init__ (self, verbose, dry_run, force)
File "C:\Program Files\Python 3.5\lib\distutils\cygwinccompiler.py", line 126, in __init__
if self.ld_version >= "2.10.90":
TypeError: unorderable types: NoneType() >= str()
编辑 2:我尝试了这里介绍的解决方案,但它不适用于我的情况。我正在使用 Windows 10 专业版、Python 3.5