############################################################## pyenv の設定 ############################################################## --------------------------------------------------------- pyenvの概要 --------------------------------------------------------- ========================================================= pyenvとは ========================================================= * pyenv は、 :red:`複数versionの python を同一マシンで共存・切替可能` にするツール. - 例えば、提供用コードとして、異なるpython version 環境で :blue:`検証` できる. - パッケージが最新のpythonに対応していないときに、 :blue:`ダウングレードがスムーズ` にできる. * pyenv はユーザー権限で動作. python 本体を `$HOME/.pyenv/versions` 以下にインストール、切替に管理者権限を必要としない. | --------------------------------------------------------- pyenv のメリット --------------------------------------------------------- * 複数の Python バージョンを安全に :blue:`共存、切替` が可能 (権限不要). * システムの Python を汚さずに、開発用の環境を柔軟に構築できる. | ========================================================= 準備 ========================================================= --------------------------------------------------------- 前提条件 --------------------------------------------------------- * WSL2 上の Ubuntu 24.04 環境 * HTTP/HTTPS プロキシを経由したインターネットアクセス * git, curl, build-essential 等のインストール権限 | --------------------------------------------------------- 依存パッケージのインストール --------------------------------------------------------- Python ビルドに必要なパッケージを事前にインストールします。 .. code-block:: shell 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:: :red:`【重要】` :: pyenv は、ビルド時に、依存関係を自動でみて必要なファイルを入手・解決してくれない.. | ========================================================= インストール ========================================================= :blue:`git 経由で pyenv をインストール` . .. code-block:: shell 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 をインストールし、グローバル設定する. .. code-block:: shell pyenv install 3.12.2 pyenv global 3.12.2 # 確認 python --version * グローバル設定により、 ``$ python`` で :blue:`python3.12.2が選択される` . | ========================================================= pip のアップグレードと初期パッケージ ========================================================= .. code-block:: shell python -m pip install --upgrade pip setuptools wheel python -m pip install numpy scipy matplotlib