linuxでpython 2とpython 3を切り替えます
14127 ワード
このブログはLinuxユーザー向けで、Linux下(Ubuntu)でテストに合格しました.Winユーザーですか.
0 x 00なぜ2バージョンのPythonが必要なのか
Python 2とPython 3の互換性がないのは、Pythonに触れた開発者一人一人が知っていることで、Python 3は未来とはいえ、Python 2の開発を採用するプロジェクトが多い.Linuxの多くのリリースバージョン(Ubuntuなど)にはPython 2が付属しています.7ですが、Python 3プロジェクトを開発する準備ができたら、どうすればいいですか?
ではPython 3も降りましょう.はい、Linuxの下では確かに2つを一緒に入れることができますが、問題は2つのバージョンのPythonをどのように切り替えるかです.
0 x 01エイリアスの変更
まずデフォルトのPythonバージョンを見てみましょう
別名を変更します
一般的に、ソフトウェアのバイナリファイルは、
上のエイリアスの変更は一時的なもので、ウィンドウを再開すると構成がなくなります.各ウィンドウにこの別名を使用する場合は、
エイリアスを変更する利点は十分簡単ですが、切り替えが柔軟ではありません.
0 x 02リンクファイル
別名を修正するのと同じように、修正が柔軟ではありません.
0 x 03 update-alternatives切替バージョンを採用
update-alternativesはDebianが提供するツール(Debian系でなければ見なくてもいい)であり、原理は上記の方法に似ており、リンクによる方法でもあるが、その切り替えの過程は非常に便利である.
まずupdate-alternativesのヘルプ情報を見てみましょう.
3つのパラメータを知るだけでいいです
まずpythonのグループを作成し、Python 2とPython 3のオプションを追加します.
ここの
このとき、
そしてバージョンを見てみましょう
なぜPython 2なのか、構成を見てみましょう
デフォルトでオートモードが選択されているため、Python 2の優先度がPython 3より高い場合は2を入力するだけでPython 3を使用できます.
オプションを削除するには、次の手順に従います.
update-alternativesはDebian系Liunxにのみ適用されます.
0 x 04 virtualenvwrapper切替バージョン
VirtualenvwrapperはPythonの仮想環境を管理するツールであり、異なるプロジェクトのために独立した環境を構築することができ、各プロジェクトに独自の依存をインストールすることができ、異なる仮想環境に異なるバージョンのPythonが存在することをサポートします.
まずvirtualenvwrapperをインストールし、aptインストールまたはpipインストールを選択できます.
aptインストール
pipインストール
Python 2を使用してプロジェクトを開発する必要がある場合は、Python 2の仮想環境を構築します.
Python 3の開発が必要な場合:
その後、さまざまな仮想環境をいつでも切り替えることができます.
さらに、仮想環境に入ると同時にプロジェクトディレクトリに切り替えることができます.
ファイルにディレクトリの切り替えコマンドを追加するには、次の手順に従います.
0 x 05まとめ
前の2つの方法はお勧めしません.
update-alternatives切替バージョンはDebian系のLinuxにのみ適用されます.
virtualenvwrapperを使用して仮想環境とバージョンを管理することをお勧めします.
また、本明細書で説明する異なるバージョンのソフトウェアを切り替える方法は、virtualenvwrapperに加えて、Java(open-jdkおよびoracle-jdk)などの前の3つの方法が他のソフトウェアに適用される.
0 x 00なぜ2バージョンのPythonが必要なのか
Python 2とPython 3の互換性がないのは、Pythonに触れた開発者一人一人が知っていることで、Python 3は未来とはいえ、Python 2の開発を採用するプロジェクトが多い.Linuxの多くのリリースバージョン(Ubuntuなど)にはPython 2が付属しています.7ですが、Python 3プロジェクトを開発する準備ができたら、どうすればいいですか?
ではPython 3も降りましょう.はい、Linuxの下では確かに2つを一緒に入れることができますが、問題は2つのバージョンのPythonをどのように切り替えるかです.
0 x 01エイリアスの変更
まずデフォルトのPythonバージョンを見てみましょう
$ python --version
Python 2.7.6
別名を変更します
$ alias python='/usr/bin/python3'
$ python --version
Python 3.4.3 #
/usr/bin/python3
この経路はどうやって見つけたのですか?一般的に、ソフトウェアのバイナリファイルは、
/usr/bin
または/usr/local/bin
(この優先度が高い)で見つけることができます.もちろんDebian系のLinuxなら、そう探してもいいです(Python 3がインストールされていることを前提にしています):$ dpkg -L python3
上のエイリアスの変更は一時的なもので、ウィンドウを再開すると構成がなくなります.各ウィンドウにこの別名を使用する場合は、
~/.bashrc
を編集し(他のshellであれば、zshが~/.zshrc
のようなこのファイルではありません)、alias構成をファイルに書き込むことができます.エイリアスを変更する利点は十分簡単ですが、切り替えが柔軟ではありません.
0 x 02リンクファイル
/usr/bin
において、Python 3へのリンクファイルが確立される.$ ln -s python /usr/bin/python3
$ python --version
Python 3.4.3
別名を修正するのと同じように、修正が柔軟ではありません.
0 x 03 update-alternatives切替バージョンを採用
update-alternativesはDebianが提供するツール(Debian系でなければ見なくてもいい)であり、原理は上記の方法に似ており、リンクによる方法でもあるが、その切り替えの過程は非常に便利である.
まずupdate-alternativesのヘルプ情報を見てみましょう.
$ update-alternatives --help
:update-alternatives [< > ...] < >
:
--install < > < > < > < >
[--slave < > < > < >] ...
。
--remove < > < > < > < > 。
--remove-all < > < > 。
--auto < > < > 。
--display < > < > 。
--query < > --display < >.
--list < > < > 。
--get-selections 。
--set-selections 。
--config < > < > ,
, 。
--set < > < > < > < > 。
--all --config 。
< > /etc/alternatives/< > 。
( /usr/bin/pager)
< > 。
( pager)
< > 。
( /usr/bin/less)
< > , , , 。
:
--altdir < > 。
--admindir < > statoverride 。
--log < > 。
--force , 。
--skip-auto
( --config )
--verbose 。
--quiet , 。 。
--help 。
--version 。
3つのパラメータを知るだけでいいです
--install
:一連の候補を確立する--config
:グループ内のオプションを設定し、どちらのを使用するかを選択します.--remove
:オプションを削除まず、Pythonに関する選択肢があるかどうかを見てみましょう.$ update-alternatives --display python
update-alternatives: : python
まずpythonのグループを作成し、Python 2とPython 3のオプションを追加します.
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2 # Python2 , 2
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1 # Python3 , 1
ここの
/usr/bin/python
リンクファイルは、2つのオプションが同じでなければなりません.これにより、このリンクファイルは2つの異なるオプションを選択してリンクすることができます.このとき、
/usr/bin/python
というファイルを表示すると、/etc/alternatives/python
にリンクされていることがわかります.lrwxrwxrwx 1 root root 24 6 19 18:39 python -> /etc/alternatives/python
そしてバージョンを見てみましょう
$ python --version
Python 2.7.6
なぜPython 2なのか、構成を見てみましょう
$ sudo update-alternatives --config python
2 python ( /usr/bin/python)。
------------------------------------------------------------
* 0 /usr/bin/python2.7 2
1 /usr/bin/python2.7 2
2 /usr/bin/python3.4 1
[*] , :
デフォルトでオートモードが選択されているため、Python 2の優先度がPython 3より高い場合は2を入力するだけでPython 3を使用できます.
オプションを削除するには、次の手順に従います.
$ sudo update-alternatives --remove python /usr/bin/python2.7
update-alternativesはDebian系Liunxにのみ適用されます.
0 x 04 virtualenvwrapper切替バージョン
VirtualenvwrapperはPythonの仮想環境を管理するツールであり、異なるプロジェクトのために独立した環境を構築することができ、各プロジェクトに独自の依存をインストールすることができ、異なる仮想環境に異なるバージョンのPythonが存在することをサポートします.
まずvirtualenvwrapperをインストールし、aptインストールまたはpipインストールを選択できます.
aptインストール
$ sudo apt-get install virtualenvwrapper
pipインストール
$ sudo pip install virtualenvwrapper
Python 2を使用してプロジェクトを開発する必要がある場合は、Python 2の仮想環境を構築します.
$ mkvirtualenv -p /usr/bin/python2 env27
Python 3の開発が必要な場合:
$ mkvirtualenv -p /usr/bin/python3.4 env34
その後、さまざまな仮想環境をいつでも切り替えることができます.
$ workon env27 # Python2
$ workon env34 # Python3
さらに、仮想環境に入ると同時にプロジェクトディレクトリに切り替えることができます.
$VIRTUAL_ENV/bin/postactivate
というファイルを編集するだけでいいです.$ vim $VIRTUAL_ENV/bin/postactivate #
ファイルにディレクトリの切り替えコマンドを追加するには、次の手順に従います.
cd /path/to/your/project
0 x 05まとめ
前の2つの方法はお勧めしません.
update-alternatives切替バージョンはDebian系のLinuxにのみ適用されます.
virtualenvwrapperを使用して仮想環境とバージョンを管理することをお勧めします.
また、本明細書で説明する異なるバージョンのソフトウェアを切り替える方法は、virtualenvwrapperに加えて、Java(open-jdkおよびoracle-jdk)などの前の3つの方法が他のソフトウェアに適用される.