私はVistaで作業しており、Python 2.6.4。を使用しています。Pythonスクリプトを使用しているが、メッセージにぶつかった:
cannot find vcvarsall.bat
そこで、Visual C++ 2010をインストールしました。それでもファイルは見つかりません-しかし、そこにあります。私の推測(非常に教育されていないもの)は、どこかのパスが間違っているということです。古いビジュアル2008(かなり空の)フォルダーもあるからです。新しいパスに変更を加える場所がわかりません。レジストリまたはスクリプトで何かを変更しますか?それともどこか?
PythonはVisual Studio 2008を明示的に探しています。パス上にあるにもかかわらずvcvarsall.batを見つけることができなかったこの問題に遭遇しました。
Visual Studio 2010は次の環境変数を作成します。
SET VS100COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
修正するには、VS90COMNTOOLS
という変数を作成し、Visual Studio 2010の共通ツールフォルダーを指すようにします。
SET VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\
これで修正され、Visual Studio 2010コンパイラを使用してパッケージをビルドできるようになりました。
以下のコマンドを使用して、VS100環境変数を指すようにVS90環境変数を設定することもできます。
SET VS90COMNTOOLS=%VS100COMNTOOLS%
ここに簡単な解決策があります。私はPython 2.7およびWindows 7を使用しています。
インストールしようとしているものにはC/C++コンパイラが必要ですが、Pythonが見つかりません。多くのPythonパッケージは実際にはC/C++でコンパイルが必要C++をコンパイルするにはvcvarsall.batが必要であり、pipはマシンがそれを行えると想定しています。
V6.0以降ではコンパイラが自動的に検出されるため、最初にsetuptoolsをアップグレードしてください。すでにコンパイラを持っているかもしれませんが、Pythonが見つかりません。コマンドラインを開いて入力してください:
pip install --upgrade setuptools
パッケージをもう一度インストールしてみてください:
pip install [yourpackagename]
それがうまくいかなかった場合は、コンパイラーがないことが確実であるため、コンパイラーをインストールする必要があります。
http://www.Microsoft.com/en-us/download/details.aspx?id=44266
もう一度試してください:
pip install [yourpackagename]
そしてそこに行きます。それはあなたのために働くはずです。
この問題の解決策は、次の環境変数を設定することです。
VS90COMNTOOLS
例えば:
set VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools
このエラーは、Visual Studioのインストール後に再起動しないか、インストール後に新しいコマンドプロンプトを開始しないことが原因で発生する可能性があります。
また、拡張機能のコンパイルに使用できるVisual Studioのバージョンは、ビルドするpythonのバージョンによって異なります。
2015で、まだこの混乱するエラーが表示される場合は、blame pythonデフォルトのsetuptoolsPIPが使用します。
pip install -U setuptools
pip install blahblah
それは正常に動作します。
[〜#〜] update [〜#〜]:すべてのライブラリで正常に動作するわけではありません。 lib-headerを必要とするいくつかのモジュールでは、まだエラーが発生します。完璧に機能するのはLinuxプラットフォームだけです
この不可解なエラーは、Cコンパイラがインストールされていないことを意味します。 より説明的なエラーを提案するための議論がありました (これは ここに続きます 、気になったら登録してコメントしてください!)が、現在はまだ実装されていません。
この問題を修正するには、1 GBほどかかるVisual Studio 2008 SDKをインストールするか、非常に小さいVCForPython27.msiをインストールできますが、現在distutilsでサポートされていない場合、次の手順を実行します。
1) install Microsoft Visual C++ Compiler for Python 2.7 from
http://www.Microsoft.com/en-us/download/details.aspx?id=44266
2) Enter MSVC for Python command Prompt
3) SET DISTUTILS_USE_SDK=1
4) SET MSSdk=1
5) you can then build your C extensions: python.exe setup.py ...
C拡張をビルドする前に、ステップ2から4を毎回再現する必要があります。これは、VS2008 SDKとは異なるレイアウトのフォルダーにヘッダーファイルとvcvarsall.batをインストールするVCForPython27.msiの問題により、コンパイラがdistutilsを検出するのを混乱させるためです。これは、Python 2.7.10。のsetuptoolsで修正されます。
Gregory Szorcによるバグレポートと回避策: http://bugs.python.org/issue23246
IPython内で%% cythonマジックを使用するための詳細情報と回避策: https://github.com/cython/cython/wiki/CythonExtensionsOnWindows
/ EDIT:また、別のバージョンのPythonがある場合、Python 2.7、これは、MicrosoftがPython 2.7のために特別に作成した一種のミニコンパイラです。この場合、Pythonに一致するVisual Studio SDKをインストールする必要がありますバージョン、または正しいNETフレームワークバージョンのWindows SDK。詳細については、こちらを参照してください。 https://github.com/cython/cython/wiki/CythonExtensionsOnWindows#using-windows-sdk-cc-compiler-works -for-all-python-versions
これは私のために働いた(python 2.6):
インストール済みfree ms visual studio 2008
from http://www.Microsoft.com/visualstudio/en-us/products/2008-editions/express
コピーされたvcvarsall.bat
from "C:\Program Files\Microsoft Visual Studio 9.0\VC>"
から"C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\"
インストーラーはすでにこの環境変数を設定していました。
VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools\
MSは必要なパッケージを正確にリリースしたようです here 。 BurnBit ここ 。それをインストールし、 this answer のレジストリキーを設定してC:\Users\username\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0
クイックインストールでVisual Studio 2015をインストールした場合、vcvarsall.batはありません。ただし、プログラムと機能に移動し、c ++ツールをインストールするためにインストールを変更すると、vcvarsall.batが存在します。
このIS Windowsユーザー向けの最新の回答-非常に簡単な解決策。
他の人が指摘したように、問題はpython/cythonなどがビルド元と同じコンパイラを見つけようとすることですが、このコンパイラはコンピュータ上に存在しません。ほとんどの場合、このコンパイラはVisual Studioのバージョン(2008、2010、または2013)ですが、そのようなコンパイラがインストールされていないか、新しいバージョンがインストールされているため、システムは古いバージョンをインストールできません。したがって、解決策は簡単です。
1)C:\ Program Files(x86)を見て、Microsoft Visual Studioのインストールされたバージョンがあるかどうか、およびPythonがビルドされたバージョンより新しいかどうかを確認します。ではなく、Pythonがビルドされたバージョン(前の回答を参照)、または最新バージョンでさえ、次のステップに従ってください。
2)Microsoft Visual Studioの最新バージョンが既にインストールされている場合、Python/cythonなどに、それがビルドされたバージョンであると信じさせる必要があります。これは非常に簡単です。システム環境変数に移動し、次の変数が存在しない場合は作成します。
VS100COMNTOOLS
VS110COMNTOOLS
VS120COMNTOOLS
VS140COMNTOOLS
そして、これらの変数のフィールドを
「C:\ Program Files(x86)\ Microsoft Visual Studio 10.0\Common7\Tools」(visual studio 2008がインストールされている場合)、または「C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\Common7\Tools」(if visual studio 2010がインストールされている)または "C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\Common7\Tools"(visual studio 2013がインストールされている場合)または "C:\ Program Files(x86)\ Microsoft Visual Studio 14.0\Common7\Tools」(Visual Studio 2015がインストールされている場合)。
このソリューションは、32ビットバージョンのpythonで機能します。 64ビットバージョンでも動作する可能性がありますが、テストしていません。ほとんどの場合、64ビットバージョンの場合、次の追加手順を実行する必要があります。
3)パス「C:\ Program Files(x86)\ Microsoft Visual Studio 11.0\VC」を%PATH%環境変数に追加します(バージョンに応じてVisual Studioのバージョン番号を変更します)。
4)コマンドラインから「vcvarsall.bat x86_AMD64」を実行します
それで全部です。
Visual C++のインストールは良い最初のステップですが、2010バージョンが動作するかどうか確かにと言うことはできませんでした。とにかく試してみてください。
探す vcvarsall.bat
Visual C++インストールディレクトリ(Visual Studio 2010の場合はProgramFiles\Microsoft Visual Studio 10.0\VC
)。次に、そのディレクトリをシステムパスに追加します。コマンドラインでこれを実行している場合、次を試すことができます:
path %path%;c:\path\to\vs2010\bin
その後、実行しようとしていたものを何でも実行してみてください。
より永続的な効果を得るには、 コンピューターシステムのパス設定に追加してください 。
すべてのスレッドで利用可能なすべてのオプションを試した後、解決策を見つけるためにソースを掘り下げることにしました。
_$PythonPath/Lib/distutils/_msvccompiler.py
_を編集します
次の行としてdef _find_vcvarsall(plat_spec):
Addを見つけ、追加します
_ PathToVC=r"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"
return PathToVC, r""
_
そして、Visual Studioのbinディレクトリがパスにあることを確認してください。
これが機能しない場合は、編集する必要がある他のファイルがあります。
Python 3.5; Visual Studio 2015が必要です。
ここでVisual Studio 2015コミュニティを取得: https://www.visualstudio.com/en-us/downloads/visual-studio-2015-downloads-vs.aspx 必要です。
この情報を見つけるためのウェブ上の唯一の場所であるIonelに感謝します! http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/
ここで解決策を試みて、コマンドラインから環境変数を設定しましたが、これは機能しませんでした。これは、通常のコマンドプロンプトとVisual Studio Developerコマンドプロンプトの両方から行いました。
この問題を次のように克服できました。
私の構成はVisual Studio 2013(12.0)およびPython 3.4.2
非常に簡単な解決策があることに注意してください。
http://www.Microsoft.com/en-us/download/details.aspx?id=44266 からソフトウェアをダウンロードしてインストールします。
インストールディレクトリを見つけます。「C:\ Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python」などです。
ディレクトリ名「C:\ Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0」を「C:\ Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++」に変更しますPython\VCの場合」
新しい環境変数「VS90COMNTOOLS」を追加し、その値は「C:\ Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\VC\VC」です
これですべてがOKです。
Windows 10 64ビットにVisual Studio Community 2015 Editionをインストールした後。このエラーは発生しませんでした。次に、 Microsoft Visual C++ Compiler for Python 2.7 をインストールします。 vcvarsall.bat
ファイルが必要なので。このファイルはVisual Studio Community 2015のどこにもありませんが、Python 2.7用のMicrosoft Visual C++コンパイラにはありました。また、環境変数にそのパスを追加しましたが、機能しませんでした。次に、python 3.4.2をアンインストールし、pythonのすべてのフォルダーを削除して、python 2.7をインストールしました。最後に、powershellを使用してpipを実行し、使用することで必要なパッケージ(つまり、flask-user)をインストールできました。
pip install flask-user
Windowsでこれを行うと、紛らわしいEdgeのケースがあります。アドバイスに従って2007ウィンドウをインストールしても、python setup.py install
を直接実行するとこのエラーが発生する場合は、setup.pyが古いバージョンのセットアップツールを使用している可能性があります。
特に、ウィンドウをインストールしたコンパイラの適切な場所にウィンドウを向けるコードは、setuptoolsライブラリの__init__
メソッドにあります。つまり、setup.pyでsetuptoolsモジュールを使用する必要があります。いくつかの古いsetup.pyは、distutils.core
から直接メソッドを呼び出します。この場合、setup.pyはWindowsにインストールされたコンパイラを見つけられません。これは、setup.pyファイルの最初の行としてインポートsetuptoolsを記述するだけで修正できます。
参照:https://bugs.python.org/issue23246 :steve dowerからの引用を約半分探します:
Setuptoolsには、コンパイラパッケージを見つけるためのコードがあります。より多くの人が入手できるように、distutilsではなく意図的にそこに配置します。おそらく追加のチェックを2.7.10に移植する必要がありますが、すぐに修正できるのはsetuptoolsをインポートすることです。
ここからVisual Studio Express 2008(9.0)をインストールします。 http://go.Microsoft.com/?linkid=7729279
それは私のためにそれを修正したものです。