我尝试安装Python包dulwich:

pip install dulwich

但我收到了一条神秘的错误消息:

error: Unable to find vcvarsall.bat

如果我尝试手动安装软件包,也会发生同样的情况:

> python setup.py install
running build_ext
building 'dulwich._objects' extension
error: Unable to find vcvarsall.bat

当前回答

我遵守了指示http://springflex.blogspot.ru/2014/02/how-to-fix-valueerror-when-trying-to.html.但什么都没发生。然后我安装了2010 Visual Studio Express(http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express)遵循建议http://blog.python.org/2012/05/recent-windows-changes-in-python-33.html它帮助了我

其他回答

您可以从下载免费的Visual C++2008速成版http://go.microsoft.com/?linkid=7729279,它将在安装期间设置VS90COMNTOOLS环境变量,因此使用兼容的编译器进行构建。

正如@PiotrDobrogost在一篇评论中提到的,他对另一个问题的回答详细说明了为什么Visual C++2008是正确的构建工具,但随着Windows版本的Python迁移到Visual Studio的更新版本,这一点可能会发生变化:在Windows上为Python 2.7构建lxml

你可以用easy_install代替pip,这对我很有用。

我尝试了以上所有的答案,但没有为我工作。我使用的是Windows 10,并安装了Visual Studio 2010在我的情况下,需要将vcvars64.bat添加到C:\Program Files(x86)\Microsoft Visual Studio 10.0\VC\bin\amd64

下面是vcvars64.bat:

CALL "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64

如果未安装,请安装Microsoft SDK 7.1,然后重新运行pip Install dulwich

当我尝试在python 3.5上安装numpy库时,遇到了这个问题。解决方案是安装VS2015。我有VS2008、2012、2013,它们都与python 3.5不兼容。显然,较新版本的python依赖于较新版本VS。

还要确保Visual Studio中安装了C++通用工具。

使用此链接下载并安装Visual C++2015生成工具。它将自动下载visualcppbuildtools_full.exe并安装Visual C++14.0,而无需实际安装Visual Studio。安装完成后,重试pip安装,您将不会再次出现错误。

我已经在以下平台和版本上测试了它:

Python 3.6 on Windows 7 64-bit
Python 3.7 on Windows Server 2016 (64-bit system)
Python 3.8 on Windows 10 64-bit