web-dev-qa-db-ja.com

Windowsで複数のPythonバージョンを実行する方法

マシンにPythonの2つのバージョンがインストールされていました(バージョン2.6および2.5)。 1つのプロジェクトで2.6を実行し、別のプロジェクトで2.5を実行したい。

使用するものを指定するにはどうすればよいですか?

Windows XP SP2を使用しています。

148
Bilal Basharat

Pythonの異なるコピーを実行するのは、正しい実行可能ファイルを起動するのと同じくらい簡単です。 pythonを入力するだけで、コマンドラインからpythonインスタンスを開始したことに言及します。

これがWindowsで行うことは、%PATH%環境変数をトロールして、指定された名前に一致する実行可能ファイル(バッチファイル(.bat)、コマンドファイル(.cmd)、または実行する他の実行可能ファイル)をチェックすることです。実行する正しいファイルが見つかると、実行します。

2つのpythonバージョン2.5および2.6をインストールした場合、パスにはPATH=c:\python\2.5;c:\python\2.6のような両方のディレクトリが含まれますが、Windowsは一致するものを見つけるとパスの検査を停止します。

本当に必要なのは、c:\python\2.5\python.exec:\python\2.6\python.exeなどのアプリケーションの一方または両方を明示的に呼び出すことです。

もう1つの方法は、それぞれのpython.exeへのショートカットを作成して、そのうちの1つをpython25および他のpython26を呼び出すことです。その後、コマンドラインでpython25を実行するだけです。

115
aodj

問題にさらに2つのソリューションを追加します。

  • pylauncher を使用します(Python 3.3以降がある場合は、そのままインストールする必要はありません comes with Python already)スクリプトにシェバン行を追加するか、

#! c:\[path to Python 2.5]\python.exe-Python 2.5で実行するスクリプトの場合
#! c:\[path to Python 2.6]\python.exe-Python 2.6で実行するスクリプトの場合

または、pythonコマンドを実行する代わりに、pylauncherコマンド(py)を実行し、Pythonのバージョンを指定します。

py -2.6 –バージョン2.6
py -2 –インストール済みの最新バージョン2.x
py -3.4 –バージョン3.4
py -3 –インストール済みの最新バージョン3.x

  • virtualenv をインストールし、2つのvirtualenvを作成します。

virtualenv -p c:\[path to Python 2.5]\python.exe [path where you want to have virtualenv using Python 2.5 created]\[name of virtualenv]

virtualenv -p c:\[path to Python 2.6]\python.exe [path where you want to have virtualenv using Python 2.6 created]\[name of virtualenv]

例えば

virtualenv -p c:\python2.5\python.exe c:\venvs\2.5

virtualenv -p c:\python2.6\python.exe c:\venvs\2.6

次に、最初のライセンス認証を行い、このようにPython 2.5を操作できます
c:\venvs\2.5\activate
そしてPython 2.6に切り替えたい場合

deactivate  
c:\venvs\2.6\activate
77
Piotr Dobrogost

Python 3.3以降には、Windows用の公式Pythonランチャーがありますhttp://www.python。 org/dev/peps/pep-0397 / )。これで、#!pythonXを使用して、Windowsでもインタープリターの必要なバージョンを判別できます。詳細を参照してください 私の別のコメント またはPEP 397を読んでください。

要約:py script.pyは、#!に記載されているPythonバージョン、または#!がない場合はPython 2を起動します。 py -3 script.pyはPythonを起動します3。

48
pepr

@alexanderに従って、以下のようなシンボリックリンクのセットを作成できます。パスに含まれるどこかに配置して、簡単に呼び出せるようにします

> cd c:\bin
> mklink python25.exe c:\python25\python.exe
> mklink python26.exe c:\python26\python.exe

C:\ binまたはそれらを配置した場所がパスにある限り、今すぐに行くことができます

> python25
43

Pythonをインストールすると、他のメジャーバージョンの他のインストールは上書きされません。したがって、Python 2.5.xをインストールしても_ ​​Python 2.6.xは上書きされませんが、2.6.6をインストールしても2.6.5は上書きされます。

そのため、インストールするだけです。次に、必要なPythonバージョンを呼び出します。例えば:

C:\Python2.5\Python.exe

Python 2.5 for Windowsおよび

C:\Python2.6\Python.exe

windowsのPython 2.6の場合、または

/usr/local/bin/python-2.5

または

/usr/local/bin/python-2.6

に  Unix(LinuxおよびOS Xを含む)。

Unix(LinuxおよびOS Xを含む)にインストールすると、汎用のpythonコマンドがインストールされます。これは最後にインストールしたコマンドです。ほとんどのスクリプトは明示的に/usr/local/bin/python2.5またはそれを保護するために何かを呼び出すので、これはほとんど問題ではありません。しかし、あなたがそれをしたくないなら、おそらくあなたはこのようにインストールすることはできません:

./configure
make
Sudo make altinstall

「altinstall」はインストールすることを意味しますが、pythonコマンドをnotに置き換えます。

Windowsでは、私が知っている限り、グローバルなpythonコマンドを取得しないので、それは問題ではありません。

6
Lennart Regebro

ここに簡単なハックがあります:

  1. 実行するpythonのバージョンのディレクトリに移動します
  2. python.exeを右クリックします
  3. ショートカットの作成」を選択します
  4. そのショートカットに呼び出す名前を付けます(p27、p33などを使用します)
  5. そのショートカットをホームディレクトリに移動します(C:\Users\Your name
  6. コマンドプロンプトを開き、name_of_your_shortcut.lnkと入力します(p27.lnkを使用します)
4
David Greydanus
  1. pythonをインストールする

    • C:\ Python27
    • C:\ Python36
  2. 環境変数

    • PYTHON2_HOME: C:\Python27
    • PYTHON3_HOME: C:\Python36
    • Path: %PYTHON2_HOME%;%PYTHON2_HOME%\Scripts;%PYTHON3_HOME%;%PYTHON3_HOME%\Scripts;
  3. ファイル名の変更

    • C:\ Python27\python.exe→C:\ Python27\python2.exe
    • C:\ Python36\python.exe→C:\ Python36\python3.exe
  4. ピップ

    • python2 -m pip install package
    • python3 -m pip install package

cp c:\ python27\bin\python.exe as python2.7.exe

cp c:\ python34\bin\python.exeとしてpython3.4.exe

それらはすべてシステムパスにあるため、実行するバージョンを選択します

C:\Users\username>python2.7
Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win
32
Type "help", "copyright", "credits" or "license" for more information.
>>>

C:\Users\username>python3.4
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 10:38:22) [MSC v.1600 32 bit Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
2
bruceyang

Windowsでpythonの複数のバージョンを実行する最も簡単な方法は、以下のとおりです。

1)システムに関連するバージョンを選択して、pythonからpython.org/downloadsの最新バージョンをダウンロードします。

2)インストーラーを実行し、Add python 3.x to the pathを選択して、python 3にパスを自動的に設定します(チェックボックスをクリックするだけです) 。 python 2の場合、python 2インストーラーを開き、必要な設定を選択しますが、忘れずに設定してくださいpython.exeをパスに追加 to ローカルハードドライブにインストールされます、今すぐ[次へ]をクリックして、インストーラーが完了するまで待ちます。

3)両方のインストールが完了したとき。 コンピューターを右クリック-プロパティに移動-システムの詳細設定を選択-環境変数に移動-[システム変数]の下の[新規]をクリックおよび新しい追加システム変数変数名 as PY_PYTHONで、この変数値をに設定します。 OKをクリックすると、完了です。

4)これをテストするために、コマンドプロンプトを開きます。そこに入ったらpythonまたはpyと入力すると、pythonが開きます。

5)exit()と入力して、python3を終了します。ここでpy -2と入力すると、pythonが開くはずです2。

いずれも機能しない場合はコンピューターを再起動し、問題が解決しない場合はすべてをアンインストールして手順を繰り返します。

ありがとう。

1
Harsh Singh

たとえば、バージョン3.6の場合はpy -3.6と入力します。 32ビット版と64ビット版もある場合は、py -3.6-64またはpy -3.6-32と入力するだけです。

1
Mehran Jalili

異なるpythonバージョンを使用しているときに同じ問題が発生したため、anacondaナビゲーターを使用して異なるpython開発環境を作成し、各環境で異なるpythonバージョンを使用しました。

これは、ヘルプドキュメントです。

https://docs.anaconda.com/anaconda/navigator/tutorials/manage-environments/

1
mohitesachin217
  1. python 2.5フォルダーからpython.exeをC:\ Windowsにコピーし、名前をpy25.exe(または任意の名前)に変更できます。
  2. python 2.6フォルダーからpython.exeをコピーし、C:\ Windowsフォルダーに貼り付けます(名前をpy26.exeに変更します)。
    これで、コマンドラインでpy25とpython 2.5を開始し、py26とpython 2.6を開始できます。
    コマンドの名前は、名前を変更したファイルと一致する必要があります。
0
isaif

pyenv-win プロジェクトを強くお勧めします。

enter image description here

kirankotari の作業のおかげで、pyenvのWindowsバージョンができました。

0
Xin Lv

Windows 7では、バッチファイルを使用して簡単かつ効率的に切り替えることができます。これを使用します。

環境変数ダイアログ(C:\ Windows\System32\SystemPropertiesAdvanced.exe)で、

セクションユーザー変数

  1. パス環境変数に%pathpython%を追加しました

  2. python pathesへの参照を削除しました

セクションシステム変数

  1. python pathesへの参照を削除しました

pythonインストールごとにバッチファイルを作成しました(3.4 x64の例

名前= SetPathPython34x64 !!! ToExecuteAsAdmin.bat ;-)ただ覚えておいてください。

ファイルの内容=

     Set PathPython=C:\Python36AMD64\Scripts\;C:\Python36AMD64\;C:\Tcl\bin

     setx PathPython %PathPython%

バージョンを切り替えるには、バッチファイルを管理モードで実行します。

!!!!!変更は、SUBSEQUENTコマンドの[プロンプトウィンドウを開く]に対して有効です。 !!!

だから私はそれを正確にコントロールしています。

0
Aman