Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python-让Pip在Windows上使用MinGW32?_Python_Pip_Mingw32 - Fatal编程技术网

python-让Pip在Windows上使用MinGW32?

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

这个问题已经被问了好几次,也回答了好几次,但是你会发现以前的答案对我都不起作用——我觉得有些东西已经改变了,使所有旧的答案都过时了。或者至少,我处于某种边缘状态:

在Windows7上,我安装了MinGW32和Python2.7(32位版本)(我也在Python2.6上进行了尝试,得到了相同的结果)

  • 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,它仍然可以下载。(林克可能不会衰老)这不是问题的答案。¬_¬