安装 cython c++ 编译器时出现问题:命令'cl.exe'失败:无



我正在尝试安装cython,但在安装c++编译器时遇到问题。我有setup.py和main.pyx

设置.py

from setuptools import setup
from Cython.Build import cythonize
setup(
name="My hello app",
ext_modules=cythonize("*.pyx", compiler_directives={'always_allow_keywords': True}),
)

当我尝试构建主扩展时,我执行python setup.py build_ext --inplace并得到以下错误:

running build_ext
building 'main' extension
cl.exe /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:UsersxxxAppDataLocalProgramsPythonPython310include -IC:UsersxxxAppDataLocalProgramsPythonPython310Include /Tcmain.c /Fobuildtemp.win-amd64-cpython-310Releasemain.obj
error: command 'cl.exe' failed: None

我在路径中添加了MinGW/bin

在这个答案中,有人建议:

然后,使用"开始"菜单中Visual Studio文件夹中的一个特殊命令提示符,而不是普通的命令提示符或PowerShell。这会自动设置PATH,以便可以找到cl.exe。对于32位Python,请使用x86 Native Tools命令提示符。对于64位Python,请使用x64 Native Tools命令提示符。

所以我尝试了一下,但当我试图打开任何本机工具命令提示符时,我得到了一个错误Windows couldn't find cmd.exe

我尝试重新安装和修复visual studio构建工具2022,但没有成功。我现在非常绝望,所以我会感谢任何形式的帮助。

好吧,经过大约10个小时的痛苦和挣扎,我发现了问题,它是在环境变量中。ComSpec指向cmd,由于某种原因,我在那里多了一个分号,所以我手动添加了cmd.exe,现在一切都正常了。。。是的,一个愚蠢的分号夺走了我10个小时的生命。

相关内容

最新更新