我尝试安装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
当前回答
我也遇到了同样的错误(我觉得这很愚蠢,而且对错误消息没有任何帮助),尽管有一个C编译器可用,我还是继续遇到问题。
令人惊讶的是,最终对我有用的只是将pip和setuptools升级到最新版本。希望这对其他人有所帮助。
其他回答
您可以从下载免费的Visual C++2008速成版http://go.microsoft.com/?linkid=7729279,它将在安装期间设置VS90COMNTOOLS环境变量,因此使用兼容的编译器进行构建。
正如@PiotrDobrogost在一篇评论中提到的,他对另一个问题的回答详细说明了为什么Visual C++2008是正确的构建工具,但随着Windows版本的Python迁移到Visual Studio的更新版本,这一点可能会发生变化:在Windows上为Python 2.7构建lxml
看起来它正在寻找VC编译器,所以您可以尝试使用-c mingw32提及编译器类型,因为您有msys
python setup.py install -c mingw32
最快的解决方案:
如果您有python3.4.x,那么解决方案就是安装VC++2010,因为它被用来将自己编译成。
https://www.visualstudio.com/en-us/downloads#d-2010年快车
我的python版本是win32上的MSC v.1600 32位(intel)]
在Windows8上运行良好
如果您安装了mingw
pip install --global-option build_ext --global-option --compiler=mingw32 packagename
有效,迫使pip使用mingw编译器而不是Microsoft的编译器进行编译。请参见此处https://github.com/pypa/pip/issues/18有关详细信息(上一篇文章)。
你可以用easy_install代替pip,这对我很有用。