pyenv の設定

pyenvの概要

pyenvとは

  • pyenv は、 複数versionの python を同一マシンで共存・切替可能 にするツール.

    • 例えば、提供用コードとして、異なるpython version 環境で 検証 できる.

    • パッケージが最新のpythonに対応していないときに、 ダウングレードがスムーズ にできる.

  • pyenv はユーザー権限で動作. python 本体を $HOME/.pyenv/versions 以下にインストール、切替に管理者権限を必要としない.


pyenv のメリット

  • 複数の Python バージョンを安全に 共存、切替 が可能 (権限不要).

  • システムの Python を汚さずに、開発用の環境を柔軟に構築できる.


準備

前提条件

  • WSL2 上の Ubuntu 24.04 環境

  • HTTP/HTTPS プロキシを経由したインターネットアクセス

  • git, curl, build-essential 等のインストール権限


依存パッケージのインストール

Python ビルドに必要なパッケージを事前にインストールします。

sudo apt update
sudo apt install -y make build-essential libssl-dev zlib1g-dev \
    libbz2-dev libreadline-dev libsqlite3-dev curl libncursesw5-dev \
    xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev \
    ca-certificates

Note

【重要】 :: pyenv は、ビルド時に、依存関係を自動でみて必要なファイルを入手・解決してくれない..


インストール

git 経由で pyenv をインストール

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

# 環境変数を設定
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init --path)"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc

# 設定を反映
source ~/.zshrc

指定version の python インストール と グローバル設定

  • python 3.12.2 をインストールし、グローバル設定する.

pyenv install 3.12.2
pyenv global 3.12.2

# 確認
python --version
  • グローバル設定により、 $ pythonpython3.12.2が選択される


pip のアップグレードと初期パッケージ

python -m pip install --upgrade pip setuptools wheel
python -m pip install numpy scipy matplotlib