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 的建议解决方案对我有效。到目前为止我已经尝试过:

我唯一能想到的就是安装我在某些地方看到的建议的 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/