Windows 10并且无法找到vcvarsall.bat

时间:2016-05-30 21:49:00

标签: python windows visual-studio-2010 python-3.4

当我尝试构建一个包时:

C:\Linter\intlib\PYTHON>python setup.py build

我收到此错误消息:

  

运行构建

     

运行build_ext

     

建筑' LinPy'扩展

     

错误:无法找到vcvarsall.bat

这是我的Python版本:

  

Python 3.4.4(v3.4.4:737efcadf5a6,2015年12月20日,20:20:57)[MSC v.1600 64位(AMD64)]在win32上

我正在使用Windows 10 x64。我知道this线程和其他几十个(例如thisthis,并且列表继续)。所以,我想我几乎尝试了一切,但没有任何作用。似乎所有这些线程已经过时,所以我需要一些新的收据。 BTW。我试过这个:

SET VS90COMNTOOLS=%VS100COMNTOOLS%

这(在Visual Studio 2015 Visual Studio命令提示符中):

set DISTUTILS_USE_SDK=1

我在我的机器上到处寻找vcvarsall.bat,但找不到它。

我调查了此文件夹C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools,但它不包含任何.bat个文件。无论如何,在我完成所有操作之后python setup.py build仍会引发同样的错误。所以,我需要帮助。谢谢!

5 个答案:

答案 0 :(得分:20)

问题是由于您没有为正在尝试运行的接受构建安装编译器。

以下是您根据MS Python工程社区所需要的内容,

Python Version  |You will need
------------------------------------
3.5 and later   |Visual C++ Build Tools 2015 or Visual Studio 2015
3.3 and 3.4     |Windows SDK for Windows 7 and .NET 4.0
                |(Alternatively, Visual Studio 2010 if you have access to it)
2.6 to 3.2      |Microsoft Visual C++ Compiler for Python 2.7

您需要安装:Windows SDK for Windows 7 and .NET 4.0或VS 2010

来源:How to deal with the pain of “unable to find vcvarsall.bat”

答案 1 :(得分:4)

我搜索了LinPy的一个python轮,不幸的是碰巧没有。

Cython有一个很好的解决方法,可以为python中的构建设置Windows C / C ++编译器。你可以找到它here。由于您已经下载了SDK / .NET框架,因此您应该继续安装它,因为这将是步骤的一部分。如果您的系统报告已有现有版本,则可以卸载,重新启动并重新安装。

一种骇人听闻的替代方法是在Visual Studio安装目录中搜索vcvars32.batvcvarsall.bat(这些批处理文件仅用于设置编译时的环境变量)。如果找不到,则应安装SDK。我设法通过在vcvars32.bat的{​​{1}}函数中硬编码vcvarsall.batfind_vcvarsall的路径来进行解决,但是有一个缺少的库(ISL - 整数集库) )。我想这是因为我使用的是VC11。

enter image description here

我没有SDK,但你可以尝试这些,看看你的结局会发生什么

答案 2 :(得分:3)

通过安装mingwpy或libpython(不是两者),您可以使用Microsoft 3.4编译器来缓解您的痛苦:

pip install -i https://pypi.anaconda.org/carlkl/simple mingwpy

conda install libpython

答案 3 :(得分:1)

步骤1:从中安装Visual C ++ 2010 Express here

(不要安装Microsoft Visual Studio 2010 Service Pack 1)

步骤2:从“控制面板”\“程序和功能”中删除所有Microsoft Visual C ++ 2010可再发行组件包。如果你不这样做,那么在安装过程中,安装将会失败并且会出现一个模糊的错误"致命错误。错误。

步骤3:从here安装适用于Visual Studio 2010(v7.1)的Windows SDK的脱机版本。 这是64位扩展所必需的。 Windows已经内置了像Pismo这样的ISO。

步骤4:您需要使用Pismo File Mount Audit Package安装ISO文件。从here

下载Pismo

步骤5:右键单击下载的ISO文件,然后选择mount with Pismo。此后,安装Setup \ SDKSetup.exe而不是setup.exe。

步骤6a:通过将目录更改为C:\ Program Files(x86)\ Microsoft Visual Studio版本,在C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64中创建vcvars64.bat文件VC \在命令提示符下。 在命令提示符下键入命令: cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r

步骤6b: 要为面向x86平台的64位命令行构建配置此命令提示符窗口,请在命令提示符下输入: vcvarsall x86</p>

答案 4 :(得分:0)

要使用mingwpy而不是MSVC编译器,请在%USERPROFILE%文件夹中创建名为 pydistutils.cfg 的文件,其中包含以下内容:

[config]
compiler=mingw32
[build]
compiler=mingw32
[build_ext]
compiler=mingw32

另见How to use MinGW's gcc compiler when installing Python package using Pip?