错误:找不到vcvarsall.bat

我试图安装Python软件包dulwichpython

pip install dulwich

可是我收到了一个神秘的错误消息: ide

error: Unable to find vcvarsall.bat

若是我尝试手动安装软件包,也会发生相同的状况: 工具

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

#1楼

我只是遇到了一样的问题,因此我在这里讲述个人故事,但愿它能够帮助遇到一样问题的其余人,并为他们节省几个小时的时间: ui

我在Windows 7盒子中有mingw(g ++(GCC)4.6.1)和python 2.7.3,我正在尝试安装PyCrypto。 google

运行setup.py install时,全部错误均始于此错误: spa

error: Unable to find vcvarsall.bat

经过将mingw指定为首选编译器,能够轻松地在搜索错误以后解决: code

setup.py install build --compiler=mingw32

问题是而后我获得了另外一个错误: xml

configure: error: cannot run C compiled programs.

事实证实,个人防病毒软件阻止了新编译的.exe的执行。 我只是禁用了防病毒“居民防御罩”,而后转到下一个错误: ip

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

解决了它:“要么安装稍旧版本的MinGW,要么在Python目录中编辑distutils \\ cygwinccompiler.py,以删除-mno-cygwin的全部实例。” (从这里开始get

如今,我终于能够开始工做了。


#2楼

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


对于Windows安装:

在运行setup.py进行软件包安装时,Python 2.7搜索已安装的Visual Studio2008。经过在调用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


#3楼

我有python 2.73和Windows 7。对我有用的解决方案是:

  1. 在环境变量中添加了mingw32的bin目录:用C:\\programs\\mingw\\bin;附加PATH C:\\programs\\mingw\\bin;
  2. 建立distutils.cfg位于C:\\Python27\\Lib\\distutils\\distutils.cfg含有:

    [build] compiler=mingw32

要处理MinGW再也不识别-mno-cygwin标志的方法,请删除C:\\ Python27 \\ Lib \\ distutils \\ cygwincompiler.py第322至326行中的标志,所以以下所示:

self.set_executables(compiler='gcc -O -Wall',
                         compiler_so='gcc -mdll -O -Wall',
                         compiler_cxx='g++ -O -Wall',
                         linker_exe='gcc',
                         linker_so='%s %s %s'
                                    % (self.linker_dll, shared_option,
                                       entry_point))

#4楼

也许有人会感兴趣,如下对py2exe软件包有用。 (我有Windows 7 64位和便携式python 2.7,带有适用于Windows 7和.NET Framework 4的Windows SDK的Visual Studio 2005 Express)

set VS90COMNTOOLS=%VS80COMNTOOLS%

而后:

python.exe setup.py install

#5楼

若是您要在安装Visual Studio的Windows机器上安装pyodbc, 另外一个选择是使用二进制发行版手动安装pyodbc。

若是您在使用的计算机上没有管理员特权并试图设置virtualenv ,则此功能特别有用。

脚步:

  1. 此处下载最新的Windows安装程序(pyodbc-XXXwin-Y-py2.7.exe)
  2. 使用7-Zip(或WinRAR或其余工具)打开安装程序可执行文件
  3. 解压缩pyodbc.pyd和pyodbc-XXX-py2.7.egg-info并将它们放置在[python installation directory or virtualenv]\\Lib\\site-packages
  4. 没有步骤4 :)