Windows 7コンピューターにいくつかのバージョンのPythonがインストールされています。
デフォルトでPython 2.7を実行したいのですが、何らかの理由でコマンドラインにpython
と入力すると、Pythonバージョン2.4.5が実行されます。私はシステムパス変数にC:\Python27
を この質問 として追加し、Pythonを確認するために手動でパス変数を組み合わせました2.4.5が誤ってそこに投げ込まれたが、それは問題を解決しなかった。正しいバージョンのpythonにアクセスしたい場合は、毎回C:\Python27\python.exe
を入力する必要があります。
他にどのような場所を確認できますか?コマンドラインで正しいバージョンのPythonを使用するにはどうすればよいですか?
this も見つかりましたが、これはWindows用ではありません。
[編集]
私のパス(セミコロンで区切られています):
C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Dell\DW WLAN Card\Driver;
C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;
C:\Program Files (x86)\Windows Live\Shared;
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
C:\Program Files\TortoiseGit\bin;
C:\Program Files\Java\jdk1.6.0_26\bin;
C:\Program Files\Java\jdk1.6.0_21 ;
C:\Program Files\IVI Foundation\VISA\Win64\Bin\;
C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;
C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;
C:\Program Files\WPIJavaCV\OpenCV_2.2.0\bin;
C:\Program Files (x86)\LilyPond\usr\bin;
C:\Program Files\TortoiseSVN\bin;
C:\Program Files (x86)\doxygen\bin;
C:\Program Files (x86)\Graphviz 2.28\bin;
C:\Users\Michael\bin\Misc\cppcheck\;
C:\Program Files (x86)\Git\cmd;
C:\Python27\python.exe;
C:\Ruby192\bin;
C:\Users\Michael\AppData\Roaming\cabal\bin;
C:\Python27\;
[EDIT 2]python
を実行すると、これが発生します:
'import site' failed; used -v for traceback
Python 2.4.5 (#1, Jul 22 2011, 02:01:04)
[GCC 4.1.1] on mingw32
Type "help", "copyright", "credits" or "license" for more information.
>>>
...そしてpython --version
(以下で推奨)を実行することは、認識されないオプションのようです。
(また、python -v
を実行してみましたが、Python 2.4がC:\Python27\Lib
からライブラリをインポートしようとしているようで、with
ステートメント、後のバージョンで追加されたと思います)
また、それが重要かどうかはわかりませんが、上記のpythonバージョンはGCCとmingw32について何かを述べていますが、C:\python27\python.exe
を実行すると次のようになります。
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>>
Python 2.4.5セッションにいる間、これを使用して、取得されるPython.exeを見つけます。
import sys
print sys.executable
複数のバージョンで遊ぶ場合は、%PATH%に依存することはできません。代わりに、必要なバージョンを呼び出す個別のバッチファイルを作成できます(ただし、バッチファイル自体がPATH上にあることを確認してください)。たとえば、2.7.2の場合、単に以下を含むPY27.BATを作成できます。
@C:\Python27\Python.exe $*
レジストリエディタで.py拡張子を更新する必要があります。 「.py」エクステンションを検索し、(デフォルト)キーが何を指しているかも確認します。それはおそらく中にあります:
HKEY_CLASSES_ROOT/.py/(Default)
このキーの「データ」はおそらく「Python.File」です(下のスクリーンショットを参照)。
これを使用して、2番目のキーを検索します。
HKEY_CLASSES_ROOT/<previous_keys_data>/Shell/open/command/@default
e.g.
HKEY_CLASSES_ROOT/Python.File/Shell/open/command/@default
(デフォルト)キーには、使用するPythonインタープリターへのパスが含まれています。使用したいインタープリターを指すように、必要に応じて更新してください(スクリーンショットを参照)。
コマンドラインで選択したPythonインタープリターは、実際にpython実行可能ファイルを指定した場合にのみ、PATH環境変数を使用します。
python myProgram.py
実際に「python」を含めずに、コマンドシェルは.pyファイル(上記の最初のキー)を開くプログラムを見つけようとします。
次に、このキーを使用して適切なプログラムを検索します(2番目のキー)。
@efotinisが言ったように、単純なプログラムを使用して、使用されているインタープリターを判別できます。
import sys
print sys.executable
次の両方でこれを実行して、PATHを使用して指定した実行可能ファイルを見つけることと、コマンドインタープリターを使用して指定した.pyファイルを開くプログラムを見つけることの違いを確認してください。
python myProgram.py
myProgram.py
このスレッドが上位の結果を得て、この回答が表示されないための投稿。この単純な解決策は、Windows 7で私にとってうまく機能したものです。Path変数のシステム変数を確認する必要があります。 1 _echo %PATH%
_は私のためにそれらを印刷するようには見えないので、以下を使用してそれらを表示および編集します。
Windowsメニューの[マイコンピュータ]を右クリックして、システム変数を確認します。
これにより、Path
を編集するためのウィンドウが表示されます。 pythonの複数のバージョンがインストールされている場合は、デフォルトとして使用するバージョンがリストの最初にあることを確認してください。python 2.7たとえば、他のバージョンの前にリストされている必要があります。
鉱山は次のようになります:C:\Python27\;C:\Program Files (x86)\Python35-32\;
動作を確認するには、再起動してcmdプロンプトを開きます。次に_python -V
_を実行します
これで_Python 2.7.11
_が出力され、python
コマンドのみに依存する実行中のスクリプトがこのバージョンを使用しているように見えます。