python-让Pip在Windows上使用MinGW32?
这个问题已经被问了好几次,也回答了好几次,但是你会发现以前的答案对我都不起作用——我觉得有些东西已经改变了,使所有旧的答案都过时了。或者至少,我处于某种边缘状态: 在Windows7上,我安装了MinGW32和Python2.7(32位版本)(我也在Python2.6上进行了尝试,得到了相同的结果)python-让Pip在Windows上使用MinGW32?,python,pip,mingw32,Python,Pip,Mingw32,这个问题已经被问了好几次,也回答了好几次,但是你会发现以前的答案对我都不起作用——我觉得有些东西已经改变了,使所有旧的答案都过时了。或者至少,我处于某种边缘状态: 在Windows7上,我安装了MinGW32和Python2.7(32位版本)(我也在Python2.6上进行了尝试,得到了相同的结果) Path环境变量设置正确 我编辑了cygwincompiler.py以删除对-mno cygwin的引用。我已经将正确的distutils.cfg文件放入C:\Python27\Lib\distu
- Path环境变量设置正确
- 我编辑了
以删除对cygwincompiler.py
的引用。我已经将正确的-mno cygwin
文件放入distutils.cfg
中C:\Python27\Lib\distutils
- 需要明确的是:
包含两行distutils.cfg
[build]compiler=mingw32
- 为了安全起见,我还将
放在了我的pydistutils.cfg
目录中。并在运行%HOME%
时将pip
放在我当前的目录中。它们的内容与setup.cfg
相同distutils.cfg
pip install cython
和pip install pycrypto
都编译成功
然而,奇怪的是,一些软件包仍然给了我一个找不到vcvarsall.bat
的错误。两个例子是:pyproj和numpy
就好像pip有时知道使用MinGW编译器,有时却不知道
此外,如果我使用MinGW附带的msysshell,那么神奇的pip安装numpy
成功了。但是pip安装pyproj
仍然失败,并且无法找到vcvarsall.bat
我在几台机器上都试过了,结果完全一样
有人知道这是怎么回事吗?为什么pip
知道使用mingw32编译一些c模块而不是其他模块?另外,为什么pip install numpy
可以在MSYS shell中工作,而不能在cmd shell中工作
额外好处:很多以前的答案建议安装VisualStudio2008作为解决
vcvarsall.bat
错误的一种方法。但从今年5月起,微软不再发行这种软件。有人知道还有什么地方可以下载VS2008吗?我这样问是因为能够使用vcvvarsall.bat
而不是MinGW可能会解决这个问题。VisualStudioExpress 2008
或者,如果你是一名学生,你仍然可以通过dreamspark获得VisualStudio2008
我建议使用VisualStudio2008,因为Python的官方发行版都是用VisualStudio编译的,并且是cpython的“官方”windows编译器
供参考的Python 33是使用Visual Studio 2010编译的
最后,您可以从这里安装软件包:我已经为这个问题挣扎了一段时间,发现有时pip似乎忽略了
MSYSU HOME
,并且找不到pydistutils.cfg
,在这种情况下,唯一的办法似乎是在运行pip install
之前将pydistutils.cfg
手动复制到您的virtualenv中
如果有人能明确地弄清楚为什么它有时能找到这个文件,有时却找不到,那就太好了。在MinGW中,环境变量似乎过于挑剔。+1我确实有完全相同的问题:有时pip能够找到MinGW,有时他找不到。你不需要所有的VS2008,你只需要windows SDK,它仍然可以下载。(林克可能不会衰老)这不是问题的答案。¬_¬