web-dev-qa-db-ja.com

python 2と3、またはその逆を切り替えるにはどうすればよいですか?

学習方法Python The Hard Way、これは2を使用しています。最近発見されたInvent With Python、3を使用します。

python 3をダウンロードして、Invent With Pythonを読んだときに使用してから、How To Learn pythonを読みたいときにPython 2に切り替えてください。ハードウェイ。その場合、使用するバージョンをどのように選択すればよいですか?

36
rayne117

'virtualenv'を使用すると、単一のマシン上で異なる隔離されたPython環境を持つことができます。また、異なるpythonインタープリターバージョン間でいつでも切り替えることができます。

virtualenvとは何ですか?

仮想環境は、Pythonの分離された作業コピーであり、他のプロジェクトに影響を与える心配なく特定のプロジェクトで作業できます。これにより、プロジェクトごとに1つずつ、Pythonの複数のサイドバイサイドインストールが可能になります。 Pythonの個別のコピーを実際にインストールするわけではありませんが、異なるプロジェクト環境を隔離したままにする賢い方法を提供します。

インストール方法

pip install virtualenv

python 2.7の仮想環境を作成するには:

root:~# which python2.7

/usr/bin/python2.7

root:~# which python3.4

/usr/local/bin/python3.4

また、選択したPythonインタープリターを使用することもできます。

root:~# virtualenv -p /usr/bin/python2.7 Vpy27

Running virtualenv with interpreter /usr/bin/python2.7

New python executable in /root/Vpy27/bin/python2.7

Also creating executable in /root/Vpy27/bin/python

Installing setuptools, pip, wheel...done.

仮想環境の使用を開始するには、アクティブ化する必要があります。

root:~# source Vpy27/bin/activate

現在の仮想環境の名前がプロンプトの左側に表示されます。

(Vpy27) root:~# python -V
Python 2.7.3

通常どおりにパッケージをインストールします。例:

(Vpy27) root:~# pip install junos-eznc    >> All pip installs done here, will be available only in this environment.

今のところ仮想環境での作業が完了したら、それを無効にすることができます:

(Vpy27) root:~# deactivate   

python 3.4の仮想環境を作成するには:

root:~# which python3.4

/usr/local/bin/python3.4

root:~# virtualenv -p /usr/local/bin/python3.4 Vpy34

root:~# source Vpy34/bin/activate

(Vpy34) root:~# python -V
Python 3.4.4

すでに利用可能なサイトパッケージを使用して仮想環境を作成する方法もあります。

29
Vijay Shetty

システム/プラットフォームに依存します...

現在Ubuntu 10.10を使用していますが、2.6と3.1の両方がインストールされています。デフォルトのシステムpythonは2.6であり、python3は追加パッケージとしてインストールされます。

corey@studio17:~$ python
Python 2.6.6 (r266:84292, Sep 15 2010, 16:22:56) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
corey@studio17:~$ python3
Python 3.1.2 (release31-maint, Sep 17 2010, 20:27:33) 
[GCC 4.4.5] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

同様に、Windowsでは、2.6と3.1がインストールされています(C:\ Python26およびC:\ Python31に)

簡単に切り替えられます。


また.. 2.xと3.xの間には、注意する必要のある構文上の違いがいくつかあります(印刷は関数などです)。

12
Corey Goldberg

Windows 10では、上記のユーザーから提供されたものよりもはるかに簡単です。

両方のバージョンを別々のフォルダーにインストールし、環境変数に移動して両方のバージョンのパスを追加します。

特定のバージョンを実行したいときはいつでも、順序(パス)を変更して他のバージョンの先頭に移動し、cmdを再起動してpython今回は、特定のバージョンのpythonのみが実行されます。

How to switch between python 2 and 3

たとえば、私の場合、2つのバージョンのpython anaconda(v3.0.6)に1つあり、もう1つはpython 2.7

2.7を実行したいときはいつでも、上のスクリーンショットでわかるように、そのパスをanacondaバージョンの上に移動し、anacondaバージョンを実行したいときに下に移動します。

4
user3065757

Windows 10でPython 3.5および2.7。PowerShellを使用して、バージョンを切り替える方法を次に示します。

############################################################
# Switch to Python 2.7
############################################################

# Remove python 3.5 from PATH
$current_path = [Environment]::GetEnvironmentVariable("Path", "User")
$python3_path = "C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\;"
$new_path = $current_path.replace($python3_path, "")
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")

# Add python 2.7 to PATH
# Run PowerShell as administrator
$current_path = [Environment]::GetEnvironmentVariable("Path", "Machine")
$python2_path = "C:\Python27\;C:\Python27\Scripts;"
$new_path = $python2_path + $current_path
[Environment]::SetEnvironmentVariable("Path", $new_path, "Machine")

# Restart PowerShell to see change

# Confirm change
python --version


############################################################
# Switch to Python 3.5
############################################################

# Remove python 2.7 from PATH
# Run PowerShell as administrator
$current_path = [Environment]::GetEnvironmentVariable("Path", "Machine")
$python2_path = "C:\Python27\;C:\Python27\Scripts;"
$new_path = $current_path.replace($python2_path, "")
[Environment]::SetEnvironmentVariable("Path", $new_path, "Machine")

# Add python 3.5 to PATH
$current_path = [Environment]::GetEnvironmentVariable("Path", "User")
$python3_path = "C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\Scripts\;C:\Users\REPLACEUSER\AppData\Local\Programs\Python\Python35-32\;"
$new_path = $python3_path + $current_path
[Environment]::SetEnvironmentVariable("Path", $new_path, "User")

# Restart PowerShell to see change

# Confirm change
python --version

Pythonバージョンとユーザープロファイルを反映するためにパスを更新する必要があることに注意してください。

3
Elijah W. Gagne

anacondaを使用している場合:

Python 2環境という名前のpy2、install Python 2.7:

conda create --name py2 python=2.7

アクティベートおよびPython 2環境を使用:

ウィンドウズ:

activate py2

Linux、macOS:

source activate py2

非アクティブ化 the Python 2環境:

ウィンドウズ:

deactivate

macOS、Linux:

source deactivate

py3についても同様

Py3という名前のPython 3環境を作成し、インストールPython 3.5:

conda create --name py3 python=3.5

等々..

1
aveek

はい、できます。少なくとも私のマシンでは(Vista)、v2とv3には完全に別々のアイドルがあり、好きなときに好きなバージョンを実行できます。それでは、v3をダウンロードしてください。

1
John

* nixシステムでのいくつかの方法:

  • 個別のディレクトリ(例:/ usr/local/python2および/ usr/local/python3)にインストールし、使用する実行可能ファイルを指すように変更するリンク(例:/ usr/bin/python)を作成します。
  • 上記と同じインストールですが、別個のpythonコマンド(/ usr/bin/python2および/ usr/bin/python3など)をセットアップし、pythonを起動するときにそれらを呼び出します。または= pythonコマンドのデフォルトはそれらのうちの1つであり、もう1つはpythonNです(N = 2または3、デフォルトではない方)。
1
GreenMatt

windows 10を使用していて、python 2.xおよび3.x.

  1. コントロールパネルを開く>システムとセキュリティ>システム
  2. システムの詳細設定をクリックします。
  3. 環境変数をクリックします。
  4. パスをクリックして編集し、使用しないパスをpython使用したいバージョンの上に移動します[上へ移動]ボタンをクリックして)
  5. powerShellを再起動します。
  6. python-バージョン
0
Ahmed Teir

これまでに次のような6つのソリューションを試しました。

virtualenv --python=python py27env
mkvirtualenv --python=python3 py3env etc..

また、virtualenvwrapperパッケージなどを使用します。いずれも機能しませんでした。

Windows 10マシンにPython 3.6およびPython2.7があります。そのため、C:\ Python27\python.exeをpython2.exeに、C:\ Python36\python.exeをpython3に変更しました。 exeまたはpython36.exe形式を使用することもできますもちろん、C:\ Python27、C:\ Python27\Scripts、C:\ Python36、C:\ Python36\Scriptsが環境変数PATHに追加されています。

(1)python3の場合:

python3 -m virtualenv venv3

(2)venvフォルダーに移動し、次のコマンドでアクティブにします:

Scripts\activate.bat

(3)(venv3)は、アクティブになっていることを示します。

(venv3) HOME1@PC C:\Builts\venv3

(4)そして、それが本当に3.6かどうかを確認します:

python-バージョン

Python 3.6.0

Python2の場合:

python2 -m virtualenv venv2

結果:

(venv2) HOME1@PC C:\Builts\venv2
python --version
Python 2.7.9

私はそれが役立つことを願っています。

0
jturi

Windowsでは、 Pythonランチャー でこれを行うことができます。

PEPの記事には次のように書かれています。

シェバン行解析

最初のコマンドライン引数がダッシュ( '-')文字で始まらない場合、その引数をファイルとして開き、[1] ::の規則に従ってシェバン行を解析しようとします。

#! interpreter [optional-arg]

したがって、Pythonスクリプトの冒頭に次のようにシェバンを追加するだけです。

#! python3
#coding=utf-8

import sys
print(sys.version)
...

または、コマンドラインパラメーターをpy.exeランチャーに渡すことができます。

C:\Users\Administrator>py -3 my_script.py

C:\Users\Administrator>py -2 my_script.py
0
xmcp

これが私の2セントです。

UNIXベースのシステム(Ubuntuなど)を使用していて、現在python 2.x.があります。先に進み、python 3 .x from Python.org

インストール後、別のディレクトリpython3が作成されます

できました。

python2.xでプログラムを実行するには、python filename.pyを使用します

python3.xでプログラムを実行するには、python3 filename.pyを使用します

同様に、python2.xおよびpython 3.xインタープリターを起動するには、それぞれpythonおよびpython3を使用します。

virtualenvを指す答えがいくつかありますが、それはあなたが求めていたものではないと思います、virtualenvはPython環境を分離するために使用されます

0
SeasonalShot