8

これは数回尋ねられ、回答されましたが、以前の回答がどれもうまくいかないことがわかるように、古い回答をすべて時代遅れにするために何かが変更されたように感じます。または、少なくとも、私はある種のエッジケースにいます:

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

これをいくつかのマシンで試してみましたが、まったく同じ結果が得られました。

ここで何が起こっているのか誰にも分かりますか?なぜpipmingw32 を使用していくつかの c モジュールをコンパイルし、他のモジュールをコンパイルしないことを知っているのでしょうか? pip install numpyまた、 MSYS シェル内では機能するのに、cmd シェル内では機能しないのはなぜですか?

ボーナス: 多くの古い回答では、vcvarsall.batエラーを解決する方法として Visual Studio 2008 をインストールすることが提案されています。しかし、この 5 月の時点で、Microsoft はこのソフトウェアの配布を停止しています。VS2008をダウンロードできる場所を知っている人はいますか? vcvarsall.batMinGW の代わりに使用できるようにすると、この問題が解決する可能性があるため、質問します。

4

2 に答える 2

1

Visual Studio Express 2008 http://download.microsoft.com/download/8/B/5/8B5804AD-4990-40D0-A6AA-CE894CBBB3DC/VS2008ExpressENUX1397868.iso

または、学生の方は、dreamspark https://www.dreamspark.com/から Visual Studio 2008 を入手できます。

Pythonの公式ディストリビューションはすべてVisual Studioでコンパイルされており、cpythonの「公式」Windowsコンパイラであるため、Visual Studio 2008の使用をお勧めします。http://mail.python.org/pipermail/python-list/2010-April/573606.html

参考までに、Python 33 は Visual Studio 2010 でコンパイルされています。

最後に、ここからパッケージをインストールできます: http://www.lfd.uci.edu/~gohlke/pythonlibs/

于 2013-08-26T21:22:30.363 に答える