尝试安装 Python 包dulwich:
pip install dulwich
收到一条神秘的错误消息:
error: Unable to find vcvarsall.bat
Code language: CSS (css)
本文分享几种解决方案给大家
方案1:配置 distutils
下面的方案基于mingw32 及 Python 2.6
- 假设mingw32安装在 C:\programs\mingw\
- 将 mingw32 的 bin 目录添加到PATH环境变量中:c:\programs\MinGW\bin
- 编辑(如果不存在则创建)位于 C:\Python26\Lib\distutils\ 的distutils.cfg文件:
[build]
compiler=mingw32
- 运行easy_install.exe amara。
注意更新环境变量后打开新的命令行窗口才会生效
方案2: 安装编译版本
可以从
http://www.lfd.uci.edu/~gohlke/pythonlibs/
安装编译版本
方案3 基于Visual Studio C++
- 运行python.exe 查看它是用哪个版本的 VC++ 编译的(如下所示)。
黄色(顶部)是 Python 2.7,使用 MSC v.1500 (Visual Studio C++ 2008) 编译
红色(底部)是 Python 3.4.1,使用 MSC v.1600 (Visual Studio C++ 2010) 编译
命令行示例显示使用 MSC v.1500 编译的 Python 2.7 和使用 MSC v.1600 编译的 Python 3.4.1
- 使用下表[1]将内部 VC++ 版本与相应的 Visual Studio 版本相匹配:
MSC v.1000 -> Visual C++ 4.x
MSC v.1100 -> Visual C++ 5
MSC v.1200 -> Visual C++ 6
MSC v.1300 -> Visual C++ .NET
MSC v.1310 -> Visual C++ .NET 2003
MSC v.1400 -> Visual C++ 2005 (8.0)
MSC v.1500 -> Visual C++ 2008 (9.0)
MSC v.1600 -> Visual C++ 2010 (10.0)
MSC v.1700 -> Visual C++ 2012 (11.0)
MSC v.1800 -> Visual C++ 2013 (12.0)
MSC v.1900 -> Visual C++ 2015 (14.0)
MSC v.1910 -> Visual C++ 2017 (15.0)
MSC v.1911 -> Visual C++ 2017 (15.3)
MSC v.1912 -> Visual C++ 2017 (15.5)
MSC v.1913 -> Visual C++ 2017 (15.6)
MSC v.1914 -> Visual C++ 2017 (15.7)
MSC v.1915 -> Visual C++ 2017 (15.8)
MSC v.1916 -> Visual C++ 2017 (15.9)
Code language: CSS (css)
- 下载并安装相应版本的 Visual Studio C++。
下面列出了特定版本的 VC++ 的附加说明。
Visual Studio C++ 2008 注释
仅对于32 位编译器,请下载Visual Studio C++ 2008 Express Edition。
对于 64 位编译器[2] [3],请下载适用于 Windows 7 和 .NET Framework 3.5 SP1 的 Windows SDK。
取消选中所有内容,除了Developer Tools >> Visual C++ Compilers节省安装不需要的 SDK 工具的时间和磁盘空间。
Visual Studio C++ 2010 的注意事项
根据微软的说法,如果你安装了 Visual Studio 2010 SP1,它可能已经删除了 VC++ 的编译器和库。
如果是这种情况,请下载Visual C++ 2010 SP1 编译器更新。
Visual Studio C++ 2015 注释
如果不需要 Visual Studio IDE,请下载Visual Studio C++ 2015 Build Tools。
Visual Studio C++ 2017 的注意事项
如果不需要 Visual Studio IDE,请下载Build Tools for Visual Studio 2017。
建议:如果同时安装了 32 位和 64 位 Python,可能还想使用virtualenv创建单独的 Python 环境,这样就可以一次使用一个或另一个
- 打开cmd.exe
- 在尝试安装需要 C 扩展的东西之前,请运行以下批处理文件以将 VC++ 编译器的环境加载到会话中(即环境变量、编译器的路径等)。
执行:
- 32 位编译器:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"
Code language: CSS (css)
- 64 位编译器:
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars64.bat"
Code language: CSS (css)
注意:本机 64 位编译器位于Program Files (x86). 不要问我为什么。
此外,vcvars64.bat适用于本机 64 位编译器工具,vcvarsx86_amd64.bat是可在 32 位 Windows 安装上运行的 64 位交叉编译器
如果出现error: ... was unexpected at this time.
, 请检查你的路径变量没有任何无关的字符,比如额外的引号
- 如果一切顺利,应该会收到以下消息之一,具体取决于运行的 VC++ 版本和命令:
- 对于 32 位编译器工具:
Setting environment for using Microsoft Visual Studio 20xx x86 tools.
- 对于 64 位编译器工具:
Setting environment for using Microsoft Visual Studio 20xx x64 tools.