異なる Python バージョンをインストールする方法
Python のバージョン管理の最も簡単な方法は、ネイティブパッケージマネージャを使用することです。PythonはほとんどのLinuxデスクトップで箱から出してインストールされています。Pythonには2つのメジャーなバージョンがあります。Python2とPython3です。この2つのバージョンがあなたのコンピュータで利用可能かどうかは、以下のコマンドで確認することができます。
# Python3のインストールを確認する
python3 --バージョン
# python2 のインストールを確認する
python2 --バージョン
プリインストールされているバージョン以外のPythonをインストールするには、Ubuntuベースのディストリビューションでは、deadsnake PPA (Personal Package Archive)を使用します。
PPAを有効にしていない場合は、以下のコマンドで有効にしてください。sudo apt-get install ソフトウェア-プロパティ-共通
このコマンドを使用して、deadsnake PPAをaptのソースに追加してください。
sudo add-apt-repository ppa:deadsnakes/ppa
これで、以下のコマンドで好きなバージョンのPythonをインストールすることができます。3.10 “は必ず該当するバージョン番号に置き換えてください。
sudo apt update
sudo apt install python3.10
新しいバージョンのPythonが正しくインストールされたかどうかを確認するには、--version
フラグを使用します。
python3.10 --バージョン
この時点でシステムのPythonのバージョンを確認すると、プリインストールされたバージョンの番号が表示されたままであることを忘れないでください。
新しくインストールしたバージョンのPythonをデフォルトとして使用したい場合は、update-alternatives
コマンドを使用すると、同じソフトウェアの異なるバージョンに対する優先順位を設定することができます。以下のコマンドを実行して、python3.10を最も優先度の高いPythonのバージョンとして設定します。
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
2番目のコマンドは、プリインストールされているPythonのバージョンにpython3.8をマークします。
以下のコマンドで、異なるPythonのバージョンを切り替えることができます。sudo update-alternatives --config python
仮想環境によるPythonプロジェクトの管理
Python は依存関係を管理するのが苦手です。Pythonのライブラリやパッケージをインストールするために、デフォルトのパッケージインストーラであるpipやpip3を使用すると、パッケージがグローバルにインストールされます。LinuxにはPythonがプリインストールされており、OSを動かすために様々なパッケージを使用するため、手動でグローバルスコープにインストールしたパッケージはその機能を停止させる可能性があります。そこで便利なのが仮想環境です。これは、メインのセットアップから独立した独自のツールやライブラリを持つ、孤立したPython環境です。仮想環境は、依存関係を最小限に抑えた隔離された部屋だと考えてください。
仮想環境を使用しない場合、プロジェクトで使用したパッケージのバージョンを管理することができず、別のマシンでソフトウェアを実行しようとしたときに問題が発生します。そのため、Pythonのプロジェクトでは仮想環境を利用することが推奨されます。Venv による仮想環境の作成
VenvはPythonで仮想環境を作成するための推奨される方法であり、プリインストールされています。もし、
venv` を使ったことがなければ、まず、以下のコマンドで依存関係をインストールする必要があります。コマンドの中の python3.10 をインストールした Python のバージョンに変更してください。
sudo apt update
sudo apt install python3.10-venv
次に、venv
パッケージを使用して新しい仮想環境を作成します。ここでは、仮想環境を “venv” と名付けました。好きな名前をつけてください。
python3 -m venv venv
# mte という名前の仮想環境を作ってみましょう。
python3 -m venv mte # mte という名前の仮想環境を作ってみましょう。
仮想環境を作成したら、環境変数 venv
とコマンドをソースとして、仮想環境を有効にします。
ソース venv/bin/activate
これで、ターミナルのプロンプトに (vnev)
というプレフィックスが表示されます。これは、仮想環境が有効になって、依存関係をインストールする準備が整ったことを意味します。新しく作成した仮想環境内に “requests” という新しい依存関係をインストールしましょう。
python -m pip install requests
仮想環境を無効にするには、仮想環境内でdeactivateを実行します。
deactivate
Virtualenv による仮想環境の作成
virtualenv
は Python の仮想環境を作成するための最も一般的なツールです。これは venv
のスーパーセットで、 virtualenv
は venv
ができることすべてとそれ以上のことができます。
virtualenvを使用すると、異なるバージョンの Python で異なる仮想環境を作成することができます。また、
venv` パッケージにはない機能として、プロジェクト内で同じパッケージの異なる特定のバージョンを使用することができます。
virtualenv
には venv
に似た仮想環境を作成するためのコマンドがあります。
virtualenv venv
上記のコマンドを実行すると、venv という名前の新しい仮想環境が作成されます。仮想環境を有効にするには、activate ファイルをソースにします。
ソース venv/bin/activate
これで、ターミナルのプロンプトに (venv)
というプレフィックスが表示され、仮想環境が起動したことがわかります。
異なるバージョンのPythonで仮想環境を作成するには、 --python
または -p
フラグを使用して、Pythonの実行ファイルの場所を指定する必要があります。例えば、非常に古いバージョンのPythonであるPython 2.6で仮想環境を作成する場合は、以下のようなコマンドになります。
virtualenv --python="/usr/bin/python2.6" venv
Miniconda/Anacondaで仮想環境を作る
Condaはpipのようなパッケージマネージャです。しかし、pipとは異なり、Condaは他の多くのプログラミング言語をサポートし、仮想環境を作成するために異なるアプローチを取ります。Condaはpipとは独立して開発されています。
Minicondaパッケージをインストールすることで、Condaを使用することができます。データサイエンスや機械学習が好きな方は、データサイエンス関連のパッケージを全て含むAnacondaパッケージをインストールすることも可能です。 LinuxマシンにMinicondaをインストールするには、該当するPythonバージョン用のMinicondaをダウンロードし、ターミナルで以下のシェルスクリプトを実行するとMinicondaが自動的にセットアップされます。./Miniconda3<バージョン名はここにあります>.sh
インストール後、“base “と呼ばれるデフォルトのMiniconda環境が作成されます。conda install` コマンドを実行すると、要求されたパッケージの最新版がその環境内にインストールされます。もし、Conda環境が有効になっていない場合は、このコマンドを使って有効にしてください。
conda activate base
Condaは異なるPythonバージョン用の環境を簡単に作ることができます。あなたはコマンドで正しいPythonのバージョンを指定するだけでいいのです。するとCondaは自動的にあなたのために全ての依存関係をダウンロードし、インストールし、セットアップしてくれます。
例えば、Conda環境でPythonバージョン3.7を使いたい場合、コマンドは以下のようになります。conda create -n "myenv" python=3.7
この環境を作成して有効にした後、NumPy などのお気に入りのソフトウェアをインストールするために使用できます。
conda install numpy
“Python” を使って Python3 スクリプトを実行する
Pythonスクリプトを実行するには、python3
ではなく、python
と入力する方が直感的に理解しやすいでしょう。Linuxで “python-is-python3 “パッケージを使用すると、この切り替えを自動的に行うことができます。このパッケージをインストールすると、python
コマンドは自動的に python3
バイナリを使用するようになります。
sudo apt update
sudo apt install python-is-python3
よくある質問
異なるバージョンの Python をインストールすると、システムが壊れますか?
可能です。もしあなたのオペレーティングシステムが正しく動作するために Python の特定の機能を必要とし、それがあなたのマシンにインストールされた Python のバージョンで非推奨になった場合、あなたのマシンで不安定さが発生するかもしれません。最悪の場合、あなたのオペレーティングシステムが壊れ、新たにインストールしなければならないかもしれません。
仮想環境はどこに Python パッケージを保存しますか?
仮想環境では、ホームフォルダ内の特定の隠しディレクトリにパッケージを格納します。システムレベルのパッケージやスコープを汚さないように、またOSの動作を邪魔しないように、仮想環境ごとに異なる保存場所があります。
仮想環境を削除する方法は?
仮想環境の削除はとても簡単にできます。プロジェクトディレクトリに移動して、仮想環境と同じ名前のディレクトリを見つけます。このディレクトリには、仮想環境のすべての設定が保存されています。このディレクトリを削除すればOKです。
画像クレジット:Hitesh Choudhary via Unsplash. すべてのスクリーンショットはHrishikesh Pathakによるものです。