これは数回尋ねられ、回答されましたが、以前の回答がどれもうまくいかないことがわかるように、古い回答をすべて時代遅れにするために何かが変更されたように感じます。または、少なくとも、私はある種のエッジケースにいます:
Windows 7 ボックスに、MinGW32 と Python 2.7 (32 ビット バージョン) をインストールしました (これを Python 2.6 でも試しましたが、同じ結果が得られました)。
パス環境変数が正しく設定されている。
cygwincompiler.py
への参照を削除するように編集しました-mno-cygwin
。そして、正しいdistutils.cfg
ファイルをC:\Python27\Lib\distutils
.明確にするために:2行
distutils.cfg
に含まれています。[build] compiler=mingw32
pydistutils.cfg
また、(安全のために)自分の%HOME%
ディレクトリに入れました。そしてsetup.cfg
、実行時に現在のディレクトリに入れますpip
。と同じ内容distutils.cfg
です。
両方とも正常にコンパイルされるためpip install cython
、これはすべて機能していることがわかります。pip install pycrypto
ただし、不思議なことに、一部のパッケージではまだunable to find vcvarsall.bat
エラーが発生します。2 つの例は、pyproj と numpy です。
MinGW コンパイラを使用することpip
を知っている場合とそうでない場合があるようです。
さらに、MinGW に付属の MSYS シェルを使用すると、魔法のようにpip install numpy
成功します。しかし、pip install pyproj
それでも . で失敗しますunable to find vcvarsall.bat
。
これをいくつかのマシンで試してみましたが、まったく同じ結果が得られました。
ここで何が起こっているのか誰にも分かりますか?なぜpip
mingw32 を使用していくつかの c モジュールをコンパイルし、他のモジュールをコンパイルしないことを知っているのでしょうか? pip install numpy
また、 MSYS シェル内では機能するのに、cmd シェル内では機能しないのはなぜですか?
ボーナス: 多くの古い回答では、vcvarsall.bat
エラーを解決する方法として Visual Studio 2008 をインストールすることが提案されています。しかし、この 5 月の時点で、Microsoft はこのソフトウェアの配布を停止しています。VS2008をダウンロードできる場所を知っている人はいますか? vcvarsall.bat
MinGW の代わりに使用できるようにすると、この問題が解決する可能性があるため、質問します。