vcvarsall.bat需要python编译从visual studio 2015(v 14)

我正试图安装在windows 10下与python 3.5的numpy与视觉工作室2015年终极安装。

短版本:vs14文件夹C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC文件夹中缺lessvcvarsall.bat文件。 为什么?

长版本:运行pip install numpy给了我这个错误error: Unable to find vcvarsall.bat

研究这个错误让我有几个计算器的答案,帮助我找出python需要c ++编译器来编译一些软件包。 而且它需要使用用于编译python 3.5的相同版本的编译器来执行( 错误:无法findvcvarsall.bat )。 我的Python编译使用[MSC v.1900 64位(AMD64)] – 这是14(Visual Studio 2015)

进一步研究我的研究,我学到了: pip install给出了错误:无法findvcvarsall.bat get_build_version()$python_install_prefix/Lib/distutils/msvc9compiler.py返回的版本应该用来findpathvcvarsall.bat对于我来说这个方法返回14.所以一切都正确。

现在当我查看文件夹C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC ,文件vcvarsall.bat丢失。

但是,当我看着文件夹C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC有一个vcvarsall.bat。

为什么vs 14.0中缺lessvcvarsall.bat?

确保在Visual Studio中安装了C ++ Common Tools。

程序和function – > VS 2015 – >更改

VS2015设置

在尝试安装numpy之前,我遇到过这个问题。 虽然我无法解决'vcvarsall.bat'问题,但是我发现我可以从这里下载预编译的库: http ://www.lfd.uci.edu/~gohlke/pythonlibs/下载你想要的库,浏览到下载的.whl文件所在的位置,并打开命令提示符窗口。 运行'pip install [whl文件名]'这将会为你安装这个库,而不会出现编译问题。

我下载了Microsoft Visual C ++构build工具链接在这里 ,一切都很好。

当我试图用python 2.7(用VS 2015编译)构buildujson包时遇到了这个问题。

  • vcvarsall.bat:尝试将vsvars32.bat(从相同目录 – “c:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ Tools”)复制到vcvarsall.bat。 这是所有你需要build立
  • 另一个问题是在函数get_build_version()(distutils / msvc9compiler.py)中检测VS版本。 你需要改变这个函数来返回VS的正确版本。

有这条线:

 majorVersion = int(s[:-2]) - 6 

它将majorVersion设置为13,但VS 2015的正确版本是14.因此,您需要添加两行,例如:

 if majorVersion == 13: majorVersion = 14