Cythonにエラーがあります:vcvarsall.batが見つかりません



Cython Has An Error Unable Find Vcvarsall



pyまたはpyxファイルをcythonでコンパイルすると表示されます

エラー:vcvarsall.batが見つかりません



理由

その理由は、vcvarsall.batで指定されたvc ++コンパイラーがコンパイルに見つからなかったためです。 Windowsプラットフォームでは、cythonはvc ++コンパイラを呼び出して、生成されたcファイルを生成およびコンパイルして、pydファイルを生成するためです。



ただし、使用するvc ++のバージョンに関する要件があります。以下のファイルを参照してください。

C://Python37/Lib/distutils/msvccompiler.py

対応するvcバージョンをインストールします。

現在の主流のPythonバージョンは、VCとVSのバージョン、およびバージョンVSのダウンロードアドレスに対応しています。



CPython Visual C ++ Visual Studio VisualStudioのダウンロードアドレス
2.6、2.7、3.0、3.1、3.2 9.0 Visual Studio 2008 X86ダウンロード X64ダウンロード
3.3、3.4 10.0 Visual Studio 2010 X86ダウンロード X64ダウンロード
3.5 14.0 Visual Studio 2015 ダウンロード

====

質問5:VCのみをインストールし、VSをインストールしないことは可能ですか?

はい、お願いします ここをクリック 詳細な手順を参照してください。

質問6:他に解決策はありますか?

はい、実際、私たちの目標は、現在のPythonのコンパイルに使用されるVCのバージョンと一致するコンパイラを現在のWindowsシステムにインストールすることであり、MicrosoftはPython用のコンパイラを提供しています。 Python2.7用のMicrosoftVisual C ++コンパイラ このソフトウェアプログラムは直接インストールできます。 残念ながら、Python3.x用のMicrosoftVisual C ++コンパイラはまだ見つかりません。 したがって、Python 3.xの場合でも、VisualStudioまたはVisualC ++をインストールする必要があります。または、Windowsプラットフォームを放棄してください!

第三に、まとめ


  • 1)現在Python 2.7を使用している場合は、Visual Studio 2008をインストールするか、Python2.7用のMicrosoftVisual C ++コンパイラをインストールしてこの問題を解決できます。
  • 2)現在Python 3.xを使用している場合、この問題を解決するには、適切なバージョンのVisualStudioまたはVisualC ++をインストールする必要があります。

もちろん、インターネット上には、上記のget_build_version()関数の変更、関数の先頭でバージョン変数をVisual Studioの上位バージョンに再割り当てするなど、MinGWをインストールしてPython拡張機能を変更するなどの他のソリューションがあります。パッケージ。プログラムの構成ファイルを管理したり、コンパイラをmingwに変更したりします。これらのプログラムは、他の予測できない問題を引き起こす可能性があるため、個人的にはお勧めしません。

Python2.7用のMicrosoftVisual C ++コンパイラのダウンロードアドレス ここに

============別の記事で説明されています==============

多くのPythonプレーヤーでは、いくつかのサードパーティライブラリをインストールすることは避けられませんが、インストールプロセス中にエラーが発生した場合:vcvarsall.batが見つかりません。どうやるか?オンラインでの回答は数千万で、家主の抗議です。管理はそれほど多くないようです。攻撃への道を共有させてください(win10 / python3.5)。階下の状況を説明してください:vcvarsall.batはvs2013 / vcの下に存在します。ただし、それでもエラーが報告され、環境変数を構成した後もエラーが報告されます。

方法1:インターネットにMinGWをインストールしてインストールし、「.. pythonインストールパス... Lib distutils」の下に新しいファイルdistutils.cfgを作成します。このファイルでは、コンパイラをmingw32として指定します。多くの人がこの解決策を言っていますが、多くの人がそれを推奨していないようです。発生する可能性は非常に低いと言われており、その他のエラーが報告されます。

方法2:vs-の実行可能なバージョンをダウンロードしてインストールします(実行可能なバージョンを確認するには、移動してください:.. pythonインストールパス... Lib distutilsディレクトリの下にmsvc9compiler.pyがあります)

VS2010をダ​​ウンロードしてインストールするには(08バージョンは問題ないようですが、コンパイルされていない可能性がある古いバージョンを使用する必要はありません)、アドレスを指定します(Baiduのクラウドディスクの国内速度はそうあるべきです)

http://pan.baidu.com/share/link?shareid=1609273194&uk=3255422755

次に、この手順が重要であることに注意してください。コマンドラインでSET VS90COMNTOOLS =%VS100COMNTOOLS%を実行します。

2012バージョンのSETVS90COMNTOOLS =%VS110COMNTOOLS%をインストールする場合

2013バージョンのSETVS90COMNTOOLS =%VS120COMNTOOLS%をインストールする場合

または、より暴力的な場合は、%VSバージョンCOMNTOOLS%を指すシステム環境変数VS90COMNTOOLSを直接構成します。

さらに暴力的になる可能性もあります。 '.. pythonインストールパス... Lib distutilsディレクトリにmsvc9compiler.pyがあり、243行を検索します。

Toolskey = 'VS%0.f0COMNTOOLS'%バージョンが直接toolskey = 'VS your versionCOMNTOOLSに変更されました

方法3:システム環境変数で「VS%0.f0COMNTOOLS」%=「VSyourversionCOMNTOOLS」を構成します。方法2と同じ原理。