web-dev-qa-db-ja.com

PythonパッケージをPipを使用してインストールするときにMinGWのgccコンパイラを使用する方法は?

MinGWとdistutilsを構成したため、次のコマンドを使用して拡張機能をコンパイルできます。

setup.py install

MinGWのgccコンパイラが使用され、パッケージがインストールされます。そのために、MinGWと created distutils.cfg ファイルを次の内容でインストールしました。

[build]
compiler = mingw32

それはクールですが、今私はすべてのピップの利点を使用したいと思います。同じMinGWのgccコンパイラをpipで使用する方法はありますか?だからこれを実行すると:

pip install <package name>

pipはMinGWのgccコンパイラを使用し、必要に応じてCコードをコンパイルしますか?

現在、このエラーが表示されます:Unable to find vcvarsall.bat。 pipはgccコンパイラを持っていることを知らないようです。 gccコンパイラを使用するようにpipを構成するにはどうすればよいですか?

60
demalexx
  • c ++コンパイラオプションをオンにしてMinGWをインストールする
  • C:\MinGW\binをPATHに追加します
  • PYTHONPATH\Lib\distutilsで、ファイルdistutils.cfgを作成し、次の行を追加します。
[build]
compiler=mingw32
91
Syl

構成ファイルはこの問題を解決しますが、常にオプションとは限りません。コマンドラインのインストールプロセスで同じ問題が発生し、すべてのマシンとpythonディストリビューションの設定ファイルを変更できませんでした。

これは私の解決策です:

mingw32およびVC++をデフォルトとして使用するパッケージの場合:

pip install --global-option build_ext --global-option --compiler=mingw32 <package_Zip>

デフォルトとしてmingw32を使用するWinPythonのVisual C++の場合:

pip install --global-option build_ext --global-option --compiler=msvc <package_Zip>
16
Anton K

たぶん、distutils.cfgを正しい場所に配置しなかったのでしょうか? c:\ Documents and Settings\myuser内にpydistutils.cfgというファイルを作成し、同じコンテンツを作成するという同じ問題を解決しました。私はこのようにして、うまくいきました。 HTH

4
Paolo