协慌网

登录 贡献 社区

错误:无法找到 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

答案

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


对于 Windows 安装:

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

根据安装的 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 上为 Python 2.7 构建 lxml

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

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

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

通过打开新的cmd.exe确保设置环境。

您可以从http://www.lfd.uci.edu/~gohlke/pythonlibs/安装编译版本