Python不考虑distutils.cfg

时间:2013-08-20 21:18:47

标签: python pip distutils

我已经尝试了所有给出的内容,并且教程都指向了使用mingw作为python中的编译器而不是visual c ++的相同方向。

我确实有视觉c ++和mingw两者。当我想使用pip安装时问题就开始了。它总是给Unable to find vcvarsall.bat

根据建议,我在以下路径distutils.cfg下创建了一个文件c:/python27/Lib/distutils/,并添加了以下两行:

[build]
compiler=mingw32

但是,此文件无效。使用pip时仍然存在相同的错误。我正在尝试按目前的方式安装numpy,尽管错误也是先前发生的。

3 个答案:

答案 0 :(得分:2)

花费我几个小时来计算出来,但现在就像一个魅力。 我在Windows 64bit上使用科学的Python发行版Enthought Canopy。

  1. 确保您已安装MinGW和您需要的编译器(C,C ++,Fortran ..)

  2. 在环境变量

  3. 中将C:\MingW\bin添加到PATH
  4. C:\Users\MyName\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.6.2.3262.win-x86\Lib\distutils中,使用记事本++创建或类似新文件distutils.cfg

  5. 编写并保存:

    [build]
    compiler = mingw32
    
    [build_ext]
    compiler = mingw32
    

答案 1 :(得分:0)

困难解决方案(使用C / C ++编译器构建)

您使用的是Windows 32位还是64位?您在编译时是否指定了构建?例如,在shell或bash中执行以下操作:

python setup.py build --compiler==mingw32
python setup.py install

更简单的解决方案(使用预建的二进制文件)

如果您不必编译程序,可以使用here中的非官方Windows二进制文件

答案 2 :(得分:0)

您是否恰好使用virtualenv

无论如何,请使用Microsoft Visual C++ Compiler for Python 2.7 还有一个较新的setuptools。与virtualenv(3.6)捆绑在一起的那个不支持这个编译器。

pip install "setuptools>=6.0"

致谢:http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/