web-dev-qa-db-ja.com

CMDで「python」が開始Python 3.3、「py」が開始Python 2.7、これを変更するにはどうすればよいですか?

まったく新しいPythonで、物事をいじり始める前に、物事をセットアップしてインストールするだけです。私の理解では、Python 2.7とPython 3.3の間にいくつかの顕著な違い/非互換性がありますが、どちらのバージョンもよく使用されているので、インストールするのが最善だと思いました両方(独自のインストールディレクトリ内)。

インストール時に、インストーラーがPATH変数を設定する新しい3.3機能を使用しましたが、このオプションは2.7にはありません。両方のバージョンをインストールした後、クイックテストを試し、コマンドプロンプトを開き、pythonと入力してインタラクティブセッションを起動しました。期待どおり、python 3.3。

短いpyコマンドも知っています。ただし、コマンドプロンプトでpyを試すと、python 2.7が表示されます。py -3を使用して3.3を表示できますが、必要以上に長くなります主にバージョン3.3を扱っているので、pyandpythonの両方でPython 3.3インタラクティブセッション。

私はWindowのPATHシステムにある程度精通していますが、なぜこれが起こっているのかわかりません。 bothpypythonをWindowsコマンドプロンプトに入力すると、Python)が開始されるように設定するにはどうすればよいですか? = 3.3インタラクティブセッション。特に指定がない限り、たとえばpy -2

ありがとう。

13
Tomha

pyWindows Pythonランチャー であり、anyPythonバージョン。

ほとんどのシステムでは、pyはデフォルトでPython 2.7が存在する場合は起動するように構成されています(これはPython 3.6以降を除くデフォルトです。ここでPython 3が代わりに実行されます)これを変更する場合は、2つのオプションがあります。

  1. 環境変数 ;を設定します。 PY_PYTHON=3は、pyに最新のPython 3インタープリターを代わりに実行させます。

  2. アプリケーションディレクトリに次の内容のファイルpy.iniを作成します。

    [defaults]
    python=3
    

    これは、PY_PYTHON環境変数と同じ効果があります。通常、アプリケーションディレクトリは、Windowsのバージョンに応じて、C:\Documents and Settings\[username]\Application DataまたはC:\Users\[username]\AppData\Local\py.iniにあります。

スクリプト(最初の行)に#! Shebang行を追加して、このようなファイルをダブルクリックしたときにPython 3)を使用するようにランチャーに指示することもできます。

#! python3

pyは、複数のPython 3つのインタープリターがインストールされている場合、特定のPythonバージョンを使用するように構成することもできます。

33
Martijn Pieters

「py」はpythonランチャーです。パラメータ-2または-3を追加することで、起動するバージョンを選択できます。以下のヘルプノートを参照してください。

C:\> py -h
Python Launcher for Windows Version 3.3.2150.1013

usage: py [ launcher-arguments ] script [ script-arguments ]

Launcher arguments:

-2     : Launch the latest Python 2.x version
-3     : Launch the latest Python 3.x version
-X.Y   : Launch the specified Python version

たとえば、私のマシンでは、pyがデフォルトで開始python 2、-3を追加すると開始python 3:

C:\> py
Python 2.7.4 |Anaconda 1.5.0 (32-bit)| (default, Apr  9 2013, 12:19:24) [MSC v.1
500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\> py -3
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
6
zhangxaochen