我尝试安装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
我尝试安装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
当前回答
你可以用easy_install代替pip,这对我很有用。
其他回答
我有python 2.73和windows 7。对我有效的解决方案是:
将mingw32的bin目录添加到环境变量:用C:\programs\mingw\bin追加PATH;已创建distutils.cfg,位于C:\Python27\Lib\distutils\distutils.ccfg,包含:[生成]编译器=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))
我也遇到了同样的问题,现在已经解决了。
“谷歌”告诉我,我需要安装“Microsoft Visual C++编译器Python 2.7版”。我不仅安装了该工具,还安装了Visual C++2008 Reditributable,但无济于事。然后我尝试安装Visual C++2008速成版。问题已经解决了!
只需尝试安装Visual C++2008速成版!
如果您希望在未安装Visual Studio的Windows机箱上安装pyodbc,另一种选择是使用二进制发行版手动安装pyodcc。
如果您在正在使用的计算机上没有管理员权限,并且正在尝试设置virtualenv,则这特别有用。
步骤:
从这里下载最新的Windows安装程序(pyodbc-X.X.X.X.win-Y-py2.7.exe)使用7-Zip(或WinRAR等)打开安装程序可执行文件提取pyodbc.pyd和pyodbc-X.X-X-py2.7.egg-info,并将它们放在[python安装目录或virtualenv]\Lib\site包中没有步骤4:)
更新:评论指出,此处的说明可能很危险。请考虑使用Visual C++2008速成版或专门构建的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。
发生什么事?Python模块可以部分用C或C++编写(通常是为了速度)。如果您尝试用Pip(或setup.py)安装这样的包,它必须从源代码编译C/C++。开箱即用,Pip会厚颜无耻地假设您安装了Microsoft Visual C++编译器。如果您没有它,您将看到这条神秘的错误消息“错误:无法找到vcvarsall.bat”。
规定的解决方案是安装C/C++编译器,或者Microsoft Visual C++,或者MinGW(一个开源项目)。然而,安装和配置两者都非常困难。(编辑2014:微软发布了一个专门针对Python 2.7的C++编译器)
最简单的解决方案是为流行的Python包使用Christoph Gohlke的Windows安装程序(.msi)。他为Python2.x和3.x、32位和64位构建安装程序。您可以从http://www.lfd.uci.edu/~gohlke/pythonlibs/
如果你也认为“错误:找不到vcvarsall.bat”是一条荒谬而晦涩且毫无帮助的消息,那么请在http://bugs.python.org/issue2943将其替换为更有用、更友好的信息。
相比之下,Ruby附带了一个包管理器Gem,并提供了一个准官方的C/C++编译器DevKit。如果您尝试安装不带软件包的软件包,您会看到以下有用的友好信息:
请更新PATH以包含构建工具或从下载DevKithttp://rubyinstaller.org/downloads并遵循以下说明http://github.com/oneclick/rubyinstaller/wiki/Development-Kit
您可以在https://stackoverflow.com/a/13445719/284795