LoginSignup
67
71

More than 1 year has passed since last update.

Ubuntu 22.04にPython3.xを複数インストールして切り替える方法(PPA・apt)

Last updated at Posted at 2021-08-09

はじめに

本書では、Ubuntu 22.04に、Pythonの環境をインストールする方法をまとめます。
※2023/03/20 これまでUbuntu 20.04で書いていましたが、Ubuntu 22.04で確認しました。

案件によってPythonのバージョンが違うこともあるため、複数のバージョンをインストールして、alternativesで切り替えられるようにします。

また、Pythonインストール後には、venvで、アプリケーション等で使用する環境を作成することとします。

本書では、Python 3.8がもともと入っているため、3.6、3.7、3.9、更に、古いアプリを動かすために2.7もインストールすることを想定します。
インストールした中で、最新の3.9を有効にし、「newest」という環境をvenvで作成する手順をまとめます。

インストール手順

aptパッケージを更新する

sudo apt update
sudo apt upgrade -y

(パッケージ管理でpipを使う場合) pipインストール

下記手順ではpipがインストールされていないので、インストールします。

sudo apt install -y python3-pip

インストールしたらバージョンを確認します。

pip3 -V
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

のように、エラーなどにならず、バージョンが表示されれば成功です。

リポジトリ追加

sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
For nightly builds, see ppa:deadsnakes/nightly https://launchpad.net/~deadsnakes/+archive/ubuntu/nightly
 More info: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Press [ENTER] to continue or Ctrl-c to cancel adding it.

と表示されたらEnterキーを押します。

apt update

sudo apt update

インストール可能なPythonのバージョンを確認

sudo apt list python3.*
python3.10-dbg/jammy-updates,jammy-security 3.10.6-1~22.04.2 amd64
python3.10-dev/jammy-updates,jammy-security,now 3.10.6-1~22.04.2 amd64 [installed,automatic]
python3.10-doc/jammy-updates,jammy-security 3.10.6-1~22.04.2 all
python3.10-examples/jammy-updates,jammy-security 3.10.6-1~22.04.2 all
python3.10-full/jammy-updates,jammy-security 3.10.6-1~22.04.2 amd64
python3.10-minimal/jammy-updates,jammy-security,now 3.10.6-1~22.04.2 amd64 [installed,automatic]
python3.10-nopie/jammy-updates,jammy-security 3.10.6-1~22.04.2 amd64
python3.10-venv/jammy-updates,jammy-security 3.10.6-1~22.04.2 amd64
python3.10/jammy-updates,jammy-security,now 3.10.6-1~22.04.2 amd64 [installed,automatic]

のように、インストール可能なPython3.xのaptパッケージが表示されますので、インストールするバージョンを決定します。

Python 各バージョンインストール

(例)Python 3.9が最新で、2.7、3.6、3.7をインストールする場合

sudo apt install -y python3.9 python3.9-venv
sudo apt install -y python3.7 python3.7-venv
sudo apt install -y python3.6 python3.6-venv
sudo apt install -y python2.7 python2.7-venv

※venvで仮想環境を分けるため、pythonX.X-venvもインストールしています。
※pipでmysqlclientなどをインストールして、ビルドが必要になる場合、エラーになるケースがあります。その場合は、pythonX.X-devもインストールしてみてください。

alternativesでバージョン切り替え

定義

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 130
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 120
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 110
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 10

切り替え方法

Priorityを選択して切り替える方法

sudo update-alternatives --config python
There are 5 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.9   130       auto mode
  1            /usr/bin/python2.7   10        manual mode
  2            /usr/bin/python3.6   100       manual mode
  3            /usr/bin/python3.7   110       manual mode
  4            /usr/bin/python3.8   120       manual mode
  5            /usr/bin/python3.9   130       manual mode

Press <enter> to keep the current choice[*], or type selection number: 

のように表示されるので、Selectionの番号を入れてEnterキーを押すと、そのバージョンが有効になります。
※上記はPython 3.9が有効になっている状態です。

python -V
Python 3.9.6

のように、選択したバージョンになっていればOKです。

コマンドで直接設定する方法

3.9を有効にする場合:

sudo update-alternatives --set python /usr/bin/python3.9
python -V
Python 3.9.6

のように、選択したバージョンになっていればOKです。

venv (Python 3.x以降)

※ここでは、Python 3.9にnewestという環境を作る手順をまとめます。

Pythonのバージョンを選択

sudo update-alternatives --config python

Python3.9のバージョンをSelectionの番号で指定します。

venv定義のディレクトリ作成

mkdir -p ~/venv/python3.9

環境を作成

ここでは、ホームディレクトリ以下全体で使用するnewestという環境名を定義します。

cd ~/venv/python3.9/

次に、venv環境を作成します。

python -m venv newest

作成した環境を有効化

source ~/venv/python3.9/newest/bin/activate

※プロンプトの左端に(newest)のように環境名が表示されれば、正しく参照されています。

(パッケージ管理でpipを使う場合) pip更新

python -m pip install --upgrade pip

(パッケージ管理でpipを使う場合) pipパッケージインストール

利用したいパッケージをインストールします。

python -m pip install {パッケージ名}
67
71
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
67
71