
Ubuntu 25.04でモダンなPython開発環境を構築する手順
1. はじめに
Python開発を始めるにあたり、プロジェクトごとに異なるバージョンやライブラリ依存関係をクリーンに管理することは非常に重要です。特に、システムのPythonを直接使うと、環境が汚染され、プロジェクト間の互換性問題を引き起こす可能性があります。
この記事では、Ubuntu 25.04を前提として、pyenv と Poetry を組み合わせた、モダンで効率的なPython開発環境の構築手順を解説します。
この環境を構築することで、以下のメリットが得られます。
- プロジェクト単位でのPythonバージョン切り替え
- クリーンな依存関係管理
- 開発環境の再現性向上
2. システムの準備
まず、パッケージリストを更新し、Pythonのビルドに必要なライブラリをインストールします。
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
これらのパッケージは、pyenvがソースコードからPythonをコンパイルする際に必要となります。
3. pyenv のインストールと設定
pyenvは、複数のPythonバージョンを簡単に切り替えるためのツールです。
3.1. pyenv のインストール
pyenvの公式インストーラを使ってインストールするのが最も簡単です。
curl https://pyenv.run | bash
3.2. 環境変数の設定
インストール後、pyenvコマンドを利用できるように、シェル設定ファイル(.bashrc)に以下の設定を追記します。
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
設定を反映させるために、シェルを再起動するか、以下のコマンドを実行します。
exec "$SHELL"
4. 特定のPythonバージョンをインストール
pyenvを使って、希望するバージョンのPythonをインストールします。ここでは例として 3.12.4 をインストールします。
pyenv install 3.12.4
インストールが完了したら、このバージョンをグローバルなデフォルトとして設定します。
pyenv global 3.12.4
正しく設定されたか確認しましょう。
python --version
# Python 3.12.4
5. Poetry のインストールと設定
Poetryは、Pythonの依存関係管理とパッケージングを簡単にするためのツールです。pipとrequirements.txtのワークフローを置き換えるものと考えることができます。
5.1. Poetry のインストール
公式のインストーラを使うのが推奨されています。
curl -sSL https://install.python-poetry.org | python3 -
5.2. PATHの設定
Poetryコマンドを使えるようにPATHを通します。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
exec "$SHELL"
6. Poetry を使ったプロジェクトの開始
これで開発環境の準備は完了です。実際にPoetryを使って新しいプロジェクトを始めてみましょう。
6.1. 新規プロジェクトの作成
poetry new my-python-project
cd my-python-project
これにより、標準的なプロジェクト構造が自動的に生成されます。
6.2. 仮想環境の利用
Poetryはプロジェクトごとに自動で仮想環境を作成・管理します。pyproject.tomlファイルがあるディレクトリで作業することで、Poetryはそのプロジェクト用の仮想環境を自動的に認識・利用します。
6.3. ライブラリの追加
requestsライブラリを追加してみましょう。
poetry add requests
poetry addコマンドは、ライブラリをインストールし、依存関係ファイル(pyproject.tomlとpoetry.lock)を自動で更新します。
6.4. コマンドの実行
Poetryが管理する仮想環境内でスクリプトを実行するには、poetry runを使います。
poetry run python your_script.name
7. まとめ
pyenvとPoetryを組み合わせることで、Ubuntu上にクリーンで再現性の高いPython開発環境を構築できました。この環境を活用することで、バージョンや依存関係の問題に悩まされることなく、効率的に開発を進めることができます。
ぜひ、このモダンな開発スタイルを取り入れてみてください。
