この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:13
ページ更新者:ぼうず
更新日時:2026-06-11 07:10:02

タイトル: インストール方法(Linux)
SEOタイトル: Linux に Python をインストールする方法(Ubuntu / CentOS / ソースビルド / pyenv)

この記事の要点
  • Ubuntu / Debian: sudo apt install python3 python3-pip python3-venv
  • CentOS / RHEL: sudo dnf install python3 python3-pip(または yum)
  • OS 同梱の Python はバージョンが古いことが多いため、新バージョンは pyenv or ソースビルド
  • ソースビルドは必ず make altinstall を使う。make install は OS の python を上書きしシステムを壊す
  • pyenv 利用は他バージョンを汚さない最も安全な方法。pyenv install 3.12.1 で導入
  • インストール後は python3 -m venv venv でプロジェクト毎に仮想環境を作る

方法1: ディストリのパッケージ(標準・最も簡単)

OSインストールコマンド同梱 Python
Ubuntu 22.04sudo apt install python3 python3-pip python3-venvPython 3.10
Ubuntu 24.04同上Python 3.12
Debian 12同上Python 3.11
CentOS 7sudo yum install python3 python3-pipPython 3.6(古い!)
RHEL 9 / Rocky 9sudo dnf install python3 python3-pipPython 3.9
Fedora 39sudo dnf install python3 python3-pipPython 3.12
Amazon Linux 2023sudo dnf install python3 python3-pipPython 3.9

Ubuntu / Debian での詳細手順

# パッケージリスト更新
sudo apt update

# Python 3 + pip + venv をまとめてインストール
sudo apt install -y python3 python3-pip python3-venv python3-dev build-essential

# 確認
python3 --version
# Python 3.10.12
pip3 --version
# pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)

# 開発で必要になりがちなヘッダもまとめて
sudo apt install -y \
    libssl-dev libffi-dev libbz2-dev libreadline-dev libsqlite3-dev \
    libncurses5-dev libncursesw5-dev xz-utils tk-dev libxml2-dev \
    libxmlsec1-dev liblzma-dev

# 複数の Python バージョンが欲しい場合(PPA)
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12 python3.12-venv python3.12-dev

RHEL / CentOS / Rocky Linux での詳細手順

# RHEL 9 / Rocky Linux 9
sudo dnf install -y python3 python3-pip python3-devel gcc

# CentOS 7(古い)
sudo yum install -y python3 python3-pip python3-devel gcc

# 新しい Python を入れたい(RHEL 8/9 の AppStream)
sudo dnf module list python39 python311 python312
sudo dnf module enable python311
sudo dnf install python3.11

# 確認
python3.11 --version

方法2: ソースからビルド

OS が最新 Python を提供しない場合、公式ソースをビルドします。必ず make altinstall を使うこと:

# ビルド前提パッケージ(Ubuntu)
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
    libreadline-dev libsqlite3-dev libncurses5-dev libffi-dev \
    libxml2-dev libxmlsec1-dev liblzma-dev xz-utils tk-dev wget

# ソース取得
cd /tmp
wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz
tar xzf Python-3.12.1.tgz
cd Python-3.12.1

# configure(最適化込み)
./configure --enable-optimizations --with-ensurepip=install --prefix=/usr/local

# ビルド(CPU コア数だけ並列)
make -j$(nproc)

# 重要! altinstall を使う
sudo make altinstall

# python3.12 として呼び出せる(system python は壊さない)
python3.12 --version

make install vs make altinstall の違い:

  • make install/usr/local/bin/python3 を上書き。OS 標準の python3 が破壊され、apt や yum が動かなくなる可能性あり
  • make altinstall/usr/local/bin/python3.12 としてバージョン付きで配置。既存の python3 を壊さない

方法3: pyenv(最推奨)

複数バージョンを切り替えたい・OS の python を絶対に壊したくない場合:

# ビルド依存関係(前述)が必要

# pyenv インストール
curl https://pyenv.run | bash

# ~/.bashrc に追加(出力された内容をコピー)
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

# シェル再読込
exec $SHELL

# 利用可能なバージョン一覧
pyenv install --list | grep "^  3\.12"

# 任意のバージョンをインストール
pyenv install 3.11.7
pyenv install 3.12.1

# グローバル設定
pyenv global 3.12.1
python --version
# Python 3.12.1

# プロジェクトディレクトリで限定
cd ~/projects/myapp
pyenv local 3.11.7
# → .python-version ファイルが生成される

# 設定済みバージョンを確認
pyenv versions

方法4: Anaconda / Miniconda

# Miniconda を取得
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

# シェル再起動
source ~/.bashrc

# 環境作成
conda create -n myenv python=3.11
conda activate myenv
conda install numpy pandas

pip の使い方(インストール後)

# pip 自体の更新
python3 -m pip install --upgrade pip

# パッケージインストール(システムグローバル → NG)
sudo pip install requests   # ✗ OS パッケージを壊す可能性

# 推奨: venv 内で
python3 -m venv ~/myapp/venv
source ~/myapp/venv/bin/activate
pip install requests        # ○ venv 内で完結

# ユーザー領域に入れる(venv 使わない場合)
pip install --user requests

venv で仮想環境(推奨フロー)

cd ~/projects/myapp
python3 -m venv venv

# 有効化
source venv/bin/activate

# プロンプトに (venv) が表示される
(venv) $ pip install -r requirements.txt

# 無効化
deactivate

インストール先と PATH の確認

# どの python が呼ばれるか
which python3
which python

# 全候補
which -a python3

# Python が認識しているライブラリパス
python3 -c "import sys; print('\n'.join(sys.path))"

# 環境変数
echo $PATH
env | grep PYTHON

FAQ

Q: python コマンドだけだとエラー
A: Ubuntu などは python3 しか入れない。sudo apt install python-is-python3python エイリアスを追加。

Q: pip installerror: externally-managed-environment
A: Ubuntu 23.04+ / Debian 12+ の新仕様。OS パッケージを守るためグローバル pip を拒否する。必ず venv 内で実行する(PEP 668)。

Q: CentOS 7 で 3.10 以上を使いたい
A: dnf module enable python311 または pyenv でソースビルド。/usr/bin/python は yum 依存なので絶対に上書きしない。

Q: Docker でビルド時間を短くしたい
A: マルチステージビルド + FROM python:3.12-slim 公式イメージ。ホスト OS の Python は触らない。