1. 概要
事情がありまして、「python3.11」をインストールせねばならんのです。
「Ubuntu 26.04」上で、「apt」コマンドで普通に、「python」をインストールすると、「python3.14」がインストールされてしまうのです。
2. インストール
「標準のリポジトリには、『3.11』がないことが想定されるため、信頼できるサードパーティ製リポジトリである『Deadsnakes PPA』を使用するのが最も確実」らしい。
「PPA」を追加するためのツールをインストール。
sudo apt update
sudo apt install -y software-properties-common
「Deadsnakes PPA」を追加。
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
「Python 3.11」「pip」、開発用パッケージをインストール。
sudo apt install -y python3.11 python3.11-venv python3.11-dev
と、これは、仮想環境でやってうまくいったのですが、別の環境で・・・。
2026年7月2日にやろうとしたら、下記の段階で・・・。
sudo apt install -y python3.11 python3.11-venv python3.11-dev
パッケージ python3.11 は使用できませんが、別のパッケージから参照されます。
これは、パッケージが欠落しているか、廃止されたか、または別のソース
からのみ利用可能であることを意味します。
Error: パッケージ 'python3.11' にはインストール候補がありません
Error: パッケージ python3.11-venv が見つかりません
Error: 'python3.11-venv' に一致するパッケージは見つかりませんでした
Error: パッケージ python3.11-dev が見つかりません
Error: 'python3.11-dev' に一致するパッケージは見つかりませんでした
となってしまいました。
この場合、別の手が必要なようです。
手動で一世代前(Ubuntu 24.04 noble)のパッケージを流用するように設定を書き換えることで解決できるらしい。
「deadsnakes」のインポート設定を「Ubuntu 24.04(noble)」用として強制書き換え
sudo rm -f /etc/apt/sources.list.d/deadsnakes-*
sudo mkdir -pv /usr/share/keyrings
sudo curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xBA6932366A755776" -o /usr/share/keyrings/deadsnakes.asc
sudo chmod 644 /usr/share/keyrings/deadsnakes.asc
sudo tee /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-noble.sources <<EOF
Types: deb
URIs: https://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/deadsnakes.asc
EOF
sudo apt update
sudo apt install -y python3.11 python3.11-venv python3.11-dev
ここまで終わったところで。
python3 --version
Python 3.14.4
python3.11 --version
Python 3.11.15
一応、「python3.11」は、使えるわな。
次に、「python3.11」用の「pip」および設定ツール)をインストールします。
sudo apt update
sudo apt install -y python3.11-distutils python3.11-gdbm
「Ubuntu」のパッケージ管理(apt)とは別に、「Python 3.11」に対して直接「pip」をセットアップします。
curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.11 - --no-setuptools --no-wheel
Collecting pip
Using cached pip-26.1.2-py3-none-any.whl.metadata (4.6 kB)
Using cached pip-26.1.2-py3-none-any.whl (1.8 MB)
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 26.1.2
Uninstalling pip-26.1.2:
Successfully uninstalled pip-26.1.2
Successfully installed pip-26.1.2
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager, possibly rendering your system unusable. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv. Use the --root-user-action option if you know what you are doing and want to suppress this warning.
ワーニングは、出力されましたが、インストールできたようです。
確認します。
python3.11 -m pip --version
pip 26.1.2 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11)
3. pip
「pip」でインストールするパッケージをシステム全体に適用したい。
いくつか方法があるようです。
選択肢1:
「pipx」というものを使うようです。
インストールは。
apt install -y pipx
使用時は。
sudo pipx install --python python3.11 --global package_name
結局この方法は使っていないので、うまくいくかは、わかりません。
選択肢2:
python3.11 -m pip install --break-system-packages package_name
「--break-system-packages」というオプションは。
「Python 3.11」であればOS固有のシステムの「Python 3.14」とは別ディレクトリ。
/usr/local/lib/python3.11/dist-packages
に隔離されてインストールするということのようです。
そうすることで、システムを壊すリスクが低くなります。
「--include-deps」というオプションは、依存するパッケージも同時にインストールするように指定しています。
6. 参考サイト
本ページは、「Gemini」伍長を参考にさせていただきました。