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と同じ原理。