ゴール(はじめに):
Windows Subsystem for Linux (WSL) 内でのPython開発環境を構築する方法を紹介します。特に、バージョン管理システムのpyenv
とパッケージ管理ツールのpoetry
を使用することで、プロジェクトごとに異なるPythonのバージョンと依存関係を簡単に管理できるようになることを目指します。
やってみた結果
この方法を用いることで、異なるプロジェクト間でのPythonのバージョンの衝突を避けつつ、必要な依存関係を正確に管理できるようになります。結果として、開発の効率性が大幅に向上し、複数のプロジェクトを同時に進行させる際のストレスが軽減されました。
開発環境
- Windows 10または11
- Windows Subsystem for Linux (WSL2推奨)
事前準備
- WSLの有効化とセットアップ:WindowsにWSLをインストールし、UbuntuなどのLinuxディストリビューションをセットアップします。
やったこと
以下の手順でWSL内にPython開発環境を構築します。
pyenvのインストール
- 必要な依存関係のインストール:
sudo apt update; sudo apt install 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
-
pyenv
のインストールスクリプトを実行:curl https://pyenv.run | bash
pyenvの設定
- bashの設定ファイルにpyenvの初期化コマンドを追加:
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
- シェルを再起動して、設定を有効化します。
Pythonのバージョン管理
- 利用可能なPythonバージョンをリストアップ:
pyenv install --list
- 必要なバージョンをインストールし、プロジェクト用に設定:
pyenv install 3.10
poetryのインストール
-
poetry
の公式インストールスクリプトを実行:curl -sSL https://install.python-poetry.org | python3 -
プロジェクトの依存関係管理
- 新しいプロジェクトの作成:
mkdir myproject && cd myproject
-
poetry
を使用して新しいプロジェクトを初期化:poetry init
関連ツールの紹介
今回は使用していませんが、pipx
やpipenv
など他のツールを使うことも検討してみてください。
参考文献
おわりに
WSL内でpyenv
とpoetry
を使ったPython開発環境を構築する方法を紹介しました。これらのツールは、プロジェクトのPythonバージョンと依存関係を簡単に管理できるようにすることで、開発プロセスを大きく助けてくれます。