错误:找不到 vcvarsall.bat

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

答案 1

更新:评论指出,此处的说明可能很危险。请考虑使用 Visual C++ 2008 Express 版本或专门构建的 Microsoft Visual C++ 编译器 for Python详细信息),并且不要使用下面的原始答案。原始错误消息表示未安装所需版本的 Visual C++。


对于 Windows 安装:

在运行 setup.py 进行包安装时,Python 2.7 会搜索已安装的 Visual Studio 2008。您可以通过在调用 之前在环境变量中设置正确的路径来诱骗Python使用较新的Visual Studio。VS90COMNTOOLSsetup.py

根据安装的 Visual Studio 版本执行以下命令:

  • Visual Studio 2010 (VS10):SET VS90COMNTOOLS=%VS100COMNTOOLS%
  • Visual Studio 2012 (VS11):SET VS90COMNTOOLS=%VS110COMNTOOLS%
  • Visual Studio 2013 (VS12):SET VS90COMNTOOLS=%VS120COMNTOOLS%
  • Visual Studio 2015 (VS14):SET VS90COMNTOOLS=%VS140COMNTOOLS%

警告:如下所述,如果您尝试编译python模块,则此答案不太可能有效。

有关详细信息,请参阅在 Windows 上构建 lxml for Python 2.7


答案 2

我找到了解决方案。我有完全相同的问题,和错误,安装“amara”。我安装了mingw32,但需要配置distutils。

  1. 我有已经安装的Python 2.6。
  2. 我安装了 mingw32 到C:\programs\mingw\
  3. 将 mingw32 的 bin 目录添加到环境变量:追加到 PATHc:\programs\MinGW\bin;
  4. 编辑(如果不存在,则创建)distutils.cfg文件位于:C:\Python26\Lib\distutils\distutils.cfg

    [build]
    compiler=mingw32
    
  5. 现在运行 .easy_install.exe amara

通过打开新 .cmd.exe