Qiitaにログインしてダークテーマを使ってみませんか?🌙

ログインするとOSの設定にあわせたテーマカラーを使用できます!

55

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

最終更新日 投稿日 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 {パッケージ名}

新規登録して、もっと便利にQiitaを使ってみよう

  1. あなたにマッチした記事をお届けします
  2. 便利な情報をあとで効率的に読み返せます
  3. ダークテーマを利用できます
ログインすると使える機能について

コメント

この記事にコメントはありません。

いいね以上の気持ちはコメントで

55