在“找不到 vcvarsall.bat”错误之后,用于 pip 的 MinGW 编译器仍然无法正常工作
Posted
技术标签:
【中文标题】在“找不到 vcvarsall.bat”错误之后,用于 pip 的 MinGW 编译器仍然无法正常工作【英文标题】:MinGW compiler for pip after "cannot find vcvarsall.bat" error, still does not work 【发布时间】:2014-11-12 04:14:10 【问题描述】:所以我尝试这样做:
pip install pycrypto --upgrade
这导致我出错:
Cannot find "vcvarsall.bat"
这导致我找到了这个解决方案:How to use MinGW's gcc compiler when installing Python package using Pip?
所以我创建了一个 distutils.cfg,现在 pip 使用 MinGW。
但我仍然收到错误:
error: command 'C:\\Program Files\\Cygwin\\bin\\gcc.exe' failed with exit status 1
请帮忙。
我有一个安装日志的链接:https://dpaste.de/NhV9
我正在使用 Windows 7 64 位、据我所知最新的 MinGW 和 python 2.7。
【问题讨论】:
【参考方案1】:如果您使用的是来自 python.org 的 Python 2.7,您可以尝试Microsoft Visual C++ Compiler for Python 2.7:
此包包含为 Python 2.7 包生成二进制***所需的编译器和一组系统头文件。
【讨论】:
我安装了它,但我仍然得到 Unable to find vcvarsall.bat @MattM 使用这个 VC 编译器的简单方法是使用 VC 开始菜单组中的正确命令提示符,然后导航到您的工作文件夹。【参考方案2】:我已成功使用 MinGW pip installed pycrypto
,因此您可能只是缺少 Visual C++ 可再发行包 [1]。
也就是说,您可以改用easy_install pycrpyto
,它将下载并安装二进制版本。
[1]http://www.microsoft.com/en-us/download/details.aspx?id=29
【讨论】:
嗯...可能是因为您使用的是 64 位? Voidspace 有 64 位二进制文件[1],您可能想查看 [1] voidspace.org.uk/python/modules.shtml#pycrypto 这是我最初使用的,但它没有最新的二进制文件,这就是我更喜欢编译更新的原因。【参考方案3】:您的 cygwin 设置似乎没有正确配置 gcc 编译器。我会先看那里,因为它是实际的编译错误而不是缺少的编译器。
*** 这是您自己粘贴的一行。
C:\Program Files\Python27\include/pyport.h:886:2: error: #error "LONG_BIT 定义对于平台来说似乎错误(错误的 gcc/glibc 配置?)。"
错误“平台的 LONG_BIT 定义出现错误(错误的 gcc/glibc 配置?)。”
这个错误纯粹是因为 configure 运行后的错误配置,这将指向 cygwin 的 gcc 配置不正确。
找到编译器并尝试构建源代码,因此问题不是找不到 vc 可再发行组件。
【讨论】:
以上是关于在“找不到 vcvarsall.bat”错误之后,用于 pip 的 MinGW 编译器仍然无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章