我尝试安装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

当前回答

我尝试了以上所有的答案,但没有为我工作。我使用的是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.4,依赖于Visual Studio 2010。安装Visual C++2010 Express为我解决了这个问题。

欺骗它使用VS 2008或2013安装,而我碰巧没有使用。

我尝试了以上所有答案,但发现所有答案都不起作用,这可能是因为我使用的是Windows 8,并且安装了Visual Studio 2012。在这种情况下,这就是你要做的。

vcvarsall.bat文件位于此处:C: \Program Files(x86)\Microsoft Visual Studio 11.0\VC

只需选择文件并复制它。

然后转到以下目录:C: \Program Files(x86)\Microsoft Visual Studio 11.0\Common7\Tools

并粘贴文件。然后,一切都会好起来。

我尝试了许多解决方案,但只有一个对我有效,那就是安装Microsoft Visual Studio 2008 Express C++。

我使用C语言编写的Python2.7模块(yEnc,它与MSVS有其他问题)遇到了这个问题。请注意,Python 2.7是用MS VS 2008版本构建的,而不是2010!

尽管它是免费的,但很难找到,因为MS正在推广VS 2010。尽管如此,MSDN官方非常直接的链接仍然有效:检查https://stackoverflow.com/a/15319069/2227298下载链接。

我也遇到过同样的问题,所以我将在这里讲述我的故事,希望它能帮助其他人解决同样的问题并节省我刚刚花的几个小时:

我在一个windows7盒子里有mingw(g++(GCC)4.6.1)和python 2.7.3,我正在尝试安装PyCrypto。

在运行setup.py install时,这一切都以以下错误开始:

error: Unable to find vcvarsall.bat

通过将mingw指定为所选编译器,在谷歌搜索错误后轻松解决:

setup.py install build --compiler=mingw32

问题是,然后我得到了一个不同的错误:

configure: error: cannot run C compiled programs.

事实证明,我的防病毒软件阻止了新编译的.exe的执行。我刚刚禁用了防病毒“常驻屏蔽”,并转到下一个错误:

cc1.exe: error: unrecognized command line option '-mno-cygwin' 
error: command 'gcc' failed with exit status 1

这解决了这个问题:“要么安装稍微旧一点的MinGW版本,要么在Python目录中编辑distutils\cygwinccompiler.py以删除-mno-cygwin的所有实例。”(从这里开始)

现在,我终于可以开始工作了。

最快的解决方案:

如果您有python3.4.x,那么解决方案就是安装VC++2010,因为它被用来将自己编译成。

https://www.visualstudio.com/en-us/downloads#d-2010年快车

我的python版本是win32上的MSC v.1600 32位(intel)]

在Windows8上运行良好