102

Python 2.6Windows 7 にとをインストールし、Python 3.1環境変数を設定しました: path = d:\python2.6.

で実行するpythoncmd、必要な Python バージョン 2.6 が表示されます。
しかし、batファイルにスクリプトを書いて実行したところ、表示されたpythonのバージョンは3.1でした。

import sys
print (sys.version)

何が起きてる?

4

15 に答える 15

113

これは、両方のバージョンがインストールされている場合です。

This PC右クリックPropertiesAdvanced System Settingsをクリックします。

システムのプロパティが表示されます。ここから[ Advanced ] タブに移動し、[ Environment Variables]をクリックします。

ユーザー変数の上半分とシステム変数の下半分が表示されます。

システム変数を確認し、パスをダブルクリックします(パスを編集するため)。

Python のパス (実行したい Python 2.x または 3.x) を確認し、パス リストの一番上に移動します。

コマンド プロンプトを再起動します。Python のバージョンを確認すると、必要なバージョンが正しく表示されるはずです。

于 2018-10-21T07:30:51.373 に答える
82

Python インストーラーは、Python Launcher for Windows をインストールします。このプログラム ( py.exe) は Python ファイル拡張子に関連付けられており、実行する Python バージョンを指定する「shebang」コメントを探します。これにより、多くのバージョンの Python を共存させることができ、必要に応じて Python スクリプトで使用するバージョンを明示的に指定できます。指定されていない場合、デフォルトでは、現在のアーキテクチャ (x86 または x64) の最新の Python バージョンが使用されます。py.iniこのデフォルトは、ファイルまたはPY_PYTHON環境変数によってカスタマイズできます。詳細については、ドキュメントを参照してください。

Python の新しいバージョンでは、ランチャーが更新されます。最新バージョンにはpy -0、インストールされている Python を一覧表示し、現在のデフォルトを示すオプションがあります。

コンソールからランチャーが正しく登録されているかどうかを確認する方法は次のとおりです。

C:\>assoc .py
.py=Python.File

C:\>ftype Python.File
Python.File="C:\Windows\py.exe" "%1" %*

上記では、.pyファイルはタイプに関連付けられていますPython.File。のコマンド ラインPython.Fileは Python ランチャーです。これは常に PATH にあるため、Windows ディレクトリにインストールされます。

script.py関連付けを機能させるには、「python script.py」ではなくを使用してコマンド ラインからスクリプトをpython実行しますpy。実際には、Python ディレクトリを PATH から削除するのが最善の方法であるため、「python」は何も実行せず、py.

py.exePython のバージョンを強制するスイッチを指定して実行することもできます。

py -3 script.py       # select latest Python 3.X version to be used.
py -3.6 script.py     # select version 3.6 specifically.
py -3.9-32 script.py  # select version 3.9 32-bit specifically.
py -0                 # list installed Python versions (latest PyLauncher).

さらに、環境変数に追加.py;.pyw;.pyc;.pyoすると、コマンドラインは拡張子なしで実行できます。PATHEXTscript

于 2011-02-23T08:31:58.293 に答える
18

あなたが Windows ユーザーで、Python 3.3 以降のバージョンを使用している場合は、Windows 用のPython ランチャーをマシンにインストールする必要があります。これは、すべての Python スクリプトを起動するための推奨される方法です (スクリプトが必要とする Python のバージョンに関係なく)。 )。

ユーザーとして

  • コマンドラインからスクリプトを実行するときは、py代わりに常に入力してください。python

  • 「...で開く」エクスプローラーの既定のプログラムとの関連付けをセットアップしますC:\Windows\py.exe

  • Windows 用の Python ランチャーを使用するようにコマンド ライン ファイル拡張子の関連付けを設定します (これにより、入力がpyオプションになります)。

    ftype Python.File="C:\windows\py.exe" "%L" %*

    ftype Python.NoConFile="C:\Windows\pyw.exe" "%L" %*

  • PY_PYTHON環境変数を設定して、好みのデフォルト バージョンを設定します (例:PY_PYTHON=3.7)を入力すると、デフォルトの python のバージョンを確認できます。デフォルトの python 3 および python 2 バージョンを設定または指定pyすることもできます (複数ある場合)。PY_PYTHON3PY_PYTHON2

  • 特定のバージョンの python を実行する必要がある場合は、 py -M.m(Mはメジャー バージョン、mはマイナー バージョン) を使用できます。たとえば、py -3インストールされている任意のバージョンの Python 3 を実行します。

  • を使用して、インストールされている python のバージョンを一覧表示しpy -0ます。

脚本家として

  • スクリプトの先頭に、必要な Python のメジャー バージョン番号を示すシバン行を含めます。スクリプトが他のマイナー バージョンと互換性がない場合は、マイナー バージョン番号も含めます。例えば:

    #!/usr/bin/env python3

  • シバン行を使用して仮想環境を示すこともできます (以下の PEP 486 を参照)。


こちらもご覧ください

于 2019-08-02T23:02:38.390 に答える
9
  1. レジストリ キーの編集HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\python.exe\default
  2. .pyファイルを開くデフォルトのプログラムを設定するpython.exe
于 2012-08-02T03:14:22.667 に答える
2

Python 3.3 がリリースされたので、ここで説明されている py.exe ユーティリティを使用するのが最も簡単です: http://www.python.org/dev/peps/pep-0397/

UNIX スタイルのディレクティブを使用して、スクリプト ファイルで Python のバージョンを指定できます。また、実行する Python のバージョンを制御するためのコマンド ライン オプションと環境変数オプションもあります。

このユーティリティを入手する最も簡単な方法は、Python 3.3 以降をインストールすることです。

于 2013-01-03T05:57:49.863 に答える
-4

Windows レジストリのパスを変更してみてください (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment)。

警告: レジストリを壊さないでください :)

于 2011-02-23T06:54:39.867 に答える