【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我试图安装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楼
我只是遇到了同样的问题,所以我在这里讲述我的故事,希望它可以帮助遇到同样问题的其他人,并为他们节省几个小时的时间:
我在Windows 7盒子中有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的所有实例。” (从这里开始 )
现在,我终于可以开始工作了。
#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。对我有用的解决方案是:
- 在环境变量中添加了mingw32的bin目录:用
C:\\programs\\mingw\\bin;
附加PATHC:\\programs\\mingw\\bin;
创建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 ,则此功能特别有用。
脚步:
- 从此处下载最新的Windows安装程序(pyodbc-XXXwin-Y-py2.7.exe)
- 使用7-Zip(或WinRAR或其他工具)打开安装程序可执行文件
- 解压缩pyodbc.pyd和pyodbc-XXX-py2.7.egg-info并将它们放置在
[python installation directory or virtualenv]\\Lib\\site-packages
- 没有步骤4 :)
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3144148