Install Python on Linux#

対象#

基本的にLinuxをインストールした際,Pythonもインストールされる
しかし,別途インストールが必要になることがある

  • 最新もしくは古いバージョンを使いたい

  • Dockerでコンテナを立ち上げた場合はPyhonが入っていない

これらのためにPythonをインストールする方法を書く

インストール方法の種類#

古いバージョンをインストールしたいなど,要求によって方法が変わる

方法

特徴

aptでインストール

簡単!!だが,最新ではない.
OSのリリース時期によってバージョンは異なる

リポジトリを追加してapt

リポジトリを追加することで(最新 or 古い)バージョンを利用することが可能

公式配布HPとmake

公式から好きなバージョンを選べるが,コンパイルが必要,アンインストールが面倒?

aptでインストール#

$ sudo apt update
$ sudo apt install -y python3 python3-pip

リポジトリを追加してapt#

リポジトリのPPA description : https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
Supported Ubuntu and Python Versions

  • Ubuntu 18.04 (bionic) Python2.3 - Python 2.6, Python 3.1 - Python 3.5, Python3.7 - Python3.11

  • Ubuntu 20.04 (focal) Python3.5 - Python3.7, Python3.9 - Python3.11

  • Ubuntu 22.04 (jammy) Python3.7 - Python3.12

  • latest infomation: deadsnakes/

3.7 ~#

# 3.10
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install -y python3.10
$ curl https://bootstrap.pypa.io/pip/get-pip.py -o get-pip.py
$ python3.10 get-pip.py
$ python3.10 -m pip install -r requirements.txt

例外:2.6 ~ 3.6#

古いバージョンはpipのインストールが特殊 URLでバージョン指定が必要 https://bootstrap.pypa.io/pip/{version}/get-pip.py -o get-pip.py

# 3.6
$ sudo apt update
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt update
$ sudo apt install -y python3.6 python3.6-distutils
$ curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py
$ python3.6 get-pip.py
$ python3.6 -m pip install -r requirements.txt

公式配布HPとmake#

公式配布HPでマイナーバージョンまで細かく選べる インストールするバージョンをクリックし,tar.xzのURLをコピー wget URLとする

# 3.10 url:https://www.python.org/ftp/python/3.10.8/
$ sudo apt update
$ sudo apt install -y wget build-essential checkinstall python3-dev
$ sudo apt install -y libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
$ wget https://www.python.org/ftp/python/3.10.8/Python-3.10.8.tar.xz
$ tar xJf Python-3.10.8.tar.xz
$ cd Python-3.10.8
$ ./configure --enable-optimizations --enable-shared
$ make altinstall
$ update-alternatives --install /usr/bin/python python /usr/local/bin/python3.10.8 0