Python distutils 拒绝识别已安装的 C++ 编译器,在 Python 3.5 下“无法找到 vcvarsall.bat”
Python distutils refuses to recognise installed C++ compilers, `Unable to find vcvarsall.bat` under Python 3.5
我正在努力尝试通过 Python 的 distutils 编译 c。具体来说,我正在尝试按照本指南开始使用 Cython:http://docs.cython.org/src/quickstart/build.html,使用 setup.py.
我是 运行 Python 3.5.0 在 Anaconda 2.4.0(64 位)下,Windows 7.
我收到此处提到的 Unable to find vcvarsall.bat
错误:Cannot find vcvarsall.bat when running a Python script 以及其他各种问题。
None 的建议解决方案对我有效。到目前为止我已经尝试过:
- 正在安装 Visual Studio - 我拥有从 2008 年到 2013 年的所有版本,即 9.0、10.0、11.0 和 12.0。
- 将与上述相关的环境变量(VS100COMNTOOLS 等)直接指向正确的位置
- 正在为 Python 安装 Microsoft Visual C++ 编译器(如上 link)。这似乎可行,但我收到一个似乎不兼容的编译错误;我认为是因为编译器适用于 Python 2.7.
- Ravi Kumar 在上述 link 中建议更新 pip 的设置工具。 Pip 给我一个错误,说它无法更新。
- 正在为 Windows 7 和 .NET Framework 4 安装 MS Windows SDK 作为 https://github.com/cython/cython/wiki/CythonExtensionsOnWindows。最后一步失败,并显示一条错误消息,指出当前未安装 x64 编译器。
我唯一能想到的就是安装我在某些地方看到的建议的 MinGW,但是 CythonExtensionsOnWindows link 特别建议不要这样做。
非常欢迎任何其他建议!特别是,由于我显然拥有我可能需要的所有 VS 版本,除了设置环境变量 VS100COMNTOOLS 或类似变量之外,是否有办法强制 Python 识别它们?
有趣的是,conda 确实 似乎可以识别已安装的编译器,作为单独的 pip 安装尝试失败并出现同样的错误,与 conda 一起工作。
事实证明,Python 3.5 需要 Visual Studio 2015。其他地方关于为其他 Python 版本修复此问题的建议已过时。
在此处获取 Visual Studio 2015 社区:https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx,这对我有用,无需进一步的步骤。
非常感谢 Ionel,显然这是网络上唯一可以找到此信息的地方! http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/
我正在努力尝试通过 Python 的 distutils 编译 c。具体来说,我正在尝试按照本指南开始使用 Cython:http://docs.cython.org/src/quickstart/build.html,使用 setup.py.
我是 运行 Python 3.5.0 在 Anaconda 2.4.0(64 位)下,Windows 7.
我收到此处提到的 Unable to find vcvarsall.bat
错误:Cannot find vcvarsall.bat when running a Python script 以及其他各种问题。
None 的建议解决方案对我有效。到目前为止我已经尝试过:
- 正在安装 Visual Studio - 我拥有从 2008 年到 2013 年的所有版本,即 9.0、10.0、11.0 和 12.0。
- 将与上述相关的环境变量(VS100COMNTOOLS 等)直接指向正确的位置
- 正在为 Python 安装 Microsoft Visual C++ 编译器(如上 link)。这似乎可行,但我收到一个似乎不兼容的编译错误;我认为是因为编译器适用于 Python 2.7.
- Ravi Kumar 在上述 link 中建议更新 pip 的设置工具。 Pip 给我一个错误,说它无法更新。
- 正在为 Windows 7 和 .NET Framework 4 安装 MS Windows SDK 作为 https://github.com/cython/cython/wiki/CythonExtensionsOnWindows。最后一步失败,并显示一条错误消息,指出当前未安装 x64 编译器。
我唯一能想到的就是安装我在某些地方看到的建议的 MinGW,但是 CythonExtensionsOnWindows link 特别建议不要这样做。
非常欢迎任何其他建议!特别是,由于我显然拥有我可能需要的所有 VS 版本,除了设置环境变量 VS100COMNTOOLS 或类似变量之外,是否有办法强制 Python 识别它们?
有趣的是,conda 确实 似乎可以识别已安装的编译器,作为单独的 pip 安装尝试失败并出现同样的错误,与 conda 一起工作。
事实证明,Python 3.5 需要 Visual Studio 2015。其他地方关于为其他 Python 版本修复此问题的建议已过时。
在此处获取 Visual Studio 2015 社区:https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx,这对我有用,无需进一步的步骤。
非常感谢 Ionel,显然这是网络上唯一可以找到此信息的地方! http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/