web-dev-qa-db-ja.com

Pythonスクリプトを実行中にvcvarsall.batが見つかりません

私はVistaで作業しており、Python 2.6.4。を使用しています。Pythonスクリプトを使用しているが、メッセージにぶつかった:

cannot find vcvarsall.bat

そこで、Visual C++ 2010をインストールしました。それでもファイルは見つかりません-しかし、そこにあります。私の推測(非常に教育されていないもの)は、どこかのパスが間違っているということです。古いビジュアル2008(かなり空の)フォルダーもあるからです。新しいパスに変更を加える場所がわかりません。レジストリまたはスクリプトで何かを変更しますか?それともどこか?

59
Ariel

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%
44
CadentOrange

ここに簡単な解決策があります。私はPython 2.7およびWindows 7を使用しています。

インストールしようとしているものにはC/C++コンパイラが必要ですが、Pythonが見つかりません。多くのPythonパッケージは実際にはC/C++でコンパイルが必要C++をコンパイルするにはvcvarsall.batが必要であり、pipはマシンがそれを行えると想定しています。

  1. V6.0以降ではコンパイラが自動的に検出されるため、最初にsetuptoolsをアップグレードしてください。すでにコンパイラを持っているかもしれませんが、Pythonが見つかりません。コマンドラインを開いて入力してください:

    pip install --upgrade setuptools

  2. パッケージをもう一度インストールしてみてください:

    pip install [yourpackagename]

  3. それがうまくいかなかった場合は、コンパイラーがないことが確実であるため、コンパイラーをインストールする必要があります。
    http://www.Microsoft.com/en-us/download/details.aspx?id=44266

  4. もう一度試してください:

    pip install [yourpackagename]

そしてそこに行きます。それはあなたのために働くはずです。

26
alfonso

この問題の解決策は、次の環境変数を設定することです。

VS90COMNTOOLS

例えば:

set VS90COMNTOOLS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools

このエラーは、Visual Studioのインストール後に再起動しないか、インストール後に新しいコマンドプロンプトを開始しないことが原因で発生する可能性があります。

また、拡張機能のコンパイルに使用できるVisual Studioのバージョンは、ビルドするpythonのバージョンによって異なります。

14
fileoffset

2015で、まだこの混乱するエラーが表示される場合は、blame pythonデフォルトのsetuptoolsPIPが使用します。

  1. 最小のMicrosoft Visual C++コンパイラをダウンロードしてインストールしますPython 2.7コンパイルに必要python 2.7モジュール- http://www.Microsoft.com/en-in/download/details.aspx?id=44266
  2. セットアップツールを更新します-pip install -U setuptools
  3. Cコンパイルが必要なパッケージをインストールしますpythonパッケージ。pip install blahblah

それは正常に動作します。

[〜#〜] update [〜#〜]:すべてのライブラリで正常に動作するわけではありません。 lib-headerを必要とするいくつかのモジュールでは、まだエラーが発生します。完璧に機能するのはLinuxプラットフォームだけです

9
Ravi Kumar

この不可解なエラーは、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

6
gaborous

これは私のために働いた(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\
5
Gonzo

MSは必要なパッケージを正確にリリースしたようです here 。 BurnBit ここ 。それをインストールし、 this answer のレジストリキーを設定してC:\Users\username\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0

4
kag0

クイックインストールでVisual Studio 2015をインストールした場合、vcvarsall.batはありません。ただし、プログラムと機能に移動し、c ++ツールをインストールするためにインストールを変更すると、vcvarsall.batが存在します。

3

この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」を実行します

それで全部です。

3
MikeTeX

Visual C++のインストールは良い最初のステップですが、2010バージョンが動作するかどうか確かにと言うことはできませんでした。とにかく試してみてください。

探す vcvarsall.bat Visual C++インストールディレクトリ(Visual Studio 2010の場合はProgramFiles\Microsoft Visual Studio 10.0\VC)。次に、そのディレクトリをシステムパスに追加します。コマンドラインでこれを実行している場合、次を試すことができます:

path %path%;c:\path\to\vs2010\bin

その後、実行しようとしていたものを何でも実行してみてください。

より永続的な効果を得るには、 コンピューターシステムのパス設定に追加してください

3
Craig McQueen

すべてのスレッドで利用可能なすべてのオプションを試した後、解決策を見つけるためにソースを掘り下げることにしました。

_$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ディレクトリがパスにあることを確認してください。

これが機能しない場合は、編集する必要がある他のファイルがあります。

  • $ PythonPath/Lib/distutils/msvc9compiler.py
  • $ PythonPath/Lib/site-packages/setuptools/msvc9_support.py
2
Dakusan

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/

1
Giswok

ここで解決策を試みて、コマンドラインから環境変数を設定しましたが、これは機能しませんでした。これは、通常のコマンドプロンプトとVisual Studio Developerコマンドプロンプトの両方から行いました。

この問題を次のように克服できました。

  1. [環境変数]画面に移動し、VS100COMNTOOLSに新しい変数を作成し、Visual StudioインストールフォルダーC:\ Program Files\Microsoft Visual Studio 12.0\Common7\Tools \を指すようにします。
  2. 上記のフォルダーに移動します。このフォルダー内には、vsvars32.batファイルがあります。このファイルをコピーし、名前をvsvarsall.batに変更します

私の構成はVisual Studio 2013(12.0)およびPython 3.4.2

1
Tornado

非常に簡単な解決策があることに注意してください。

  1. http://www.Microsoft.com/en-us/download/details.aspx?id=44266 からソフトウェアをダウンロードしてインストールします。

  2. インストールディレクトリを見つけます。「C:\ Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python」などです。

  3. ディレクトリ名「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の場合」

  4. 新しい環境変数「VS90COMNTOOLS」を追加し、その値は「C:\ Users\USER_NAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\VC\VC」です

これですべてがOKです。

1
Figora

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
0
Waqar Detho

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をインポートすることです。

0
phil_20686

ここからVisual Studio Express 2008(9.0)をインストールします。 http://go.Microsoft.com/?linkid=7729279

それは私のためにそれを修正したものです。

0
wordsforthewise