LinuxでのPython管理(pyenvのインストールと使い方)
新しいLinux(例: Ubuntu 24.04)では、pip でシステム全体にパッケージを入れようとすると externally-managed-environment エラーが出ることがあります。つまり、pip によるグローバルインストールがそのままでは許可されません。
システムのPython環境を壊さず、Pythonバージョン管理もしやすくするために、pyenv(必要に応じて仮想環境)を使うのがおすすめです。
ビルド依存関係のインストール
Ubuntu/Debian の場合:
sudo apt-get update; sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
CentOS 系の場合:
sudo yum install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
pyenv のインストール
公式スクリプトでインストールします。
curl https://pyenv.run | bash
シェル設定を追加して反映
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# Zsh を使う場合は .bashrc を .zshrc に置き換えてください
source ~/.bashrc
# Zsh を使う場合は .bashrc を .zshrc に置き換えてください
# 確認
pyenv --version
pyenv の基本操作
# pyenv install python-version 例: 3.13.3 をインストール
pyenv install 3.13.3
# pyenv global python-version 例: グローバルを 3.13.3 に設定
pyenv global 3.13.3
# pyenv local python-version 例: プロジェクトローカルを 3.13.3 に設定
cd my-project/
pyenv local 3.13.3
# pyenv shell python-version 例: 現在のシェルだけ 3.13.3 に設定
pyenv shell python-version
# pyenv virtualenv python-version myproject-env 例: 3.13.3 の ctf 仮想環境を作成
pyenv virtualenv 3.13.3 ctf
# pyenv activate myproject-env 例: ctf 仮想環境を有効化
pyenv activate ctf
# pyenv deactivate 仮想環境を終了
pyenv deactivate
コメントを残す