当我尝试构建一个包时:
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线程和其他几十个(例如this和this,并且列表继续)。所以,我想我几乎尝试了一切,但没有任何作用。似乎所有这些线程已经过时,所以我需要一些新的收据。 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
仍会引发同样的错误。所以,我需要帮助。谢谢!
答案 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.bat
或vcvarsall.bat
(这些批处理文件仅用于设置编译时的环境变量)。如果找不到,则应安装SDK。我设法通过在vcvars32.bat
的{{1}}函数中硬编码vcvarsall.bat
或find_vcvarsall
的路径来进行解决,但是有一个缺少的库(ISL - 整数集库) )。我想这是因为我使用的是VC11。
我没有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?