Python環境構築
pyenvを使用してPythonのバージョン管理を行い、プロジェクトごとに独立した仮想環境を構築します。
pyenvのインストール
Section titled “pyenvのインストール”brew install pyenvpyenvの設定
Section titled “pyenvの設定”.zshrcに以下を追加:
# pyenv設定export PYENV_ROOT="$HOME/.pyenv"export PATH="$PYENV_ROOT/shims:$PATH"eval "$(pyenv init -)"設定を反映:
source ~/.zshrcPythonのインストール
Section titled “Pythonのインストール”利用可能なバージョンの確認
Section titled “利用可能なバージョンの確認”# すべてのバージョンを表示pyenv install --list
# 特定のバージョンを検索pyenv install --list | grep 3.11Pythonのインストール
Section titled “Pythonのインストール”# 特定バージョンをインストールpyenv install 3.11.3
# 最新の安定版をインストール(例)pyenv install 3.12.0インストール済みバージョンの確認
Section titled “インストール済みバージョンの確認”pyenv versionsバージョンの切り替え
Section titled “バージョンの切り替え”グローバルバージョンの設定
Section titled “グローバルバージョンの設定”# システム全体のデフォルトバージョンを設定pyenv global 3.11.3プロジェクト固有のバージョン設定
Section titled “プロジェクト固有のバージョン設定”# プロジェクトディレクトリで実行pyenv local 3.11.3これにより.python-versionファイルが作成され、そのディレクトリでは指定したバージョンが使用されます。
現在のバージョン確認
Section titled “現在のバージョン確認”python --versionpyenv version仮想環境の作成
Section titled “仮想環境の作成”Python 3.3以降は標準モジュールのvenvを使用して仮想環境を作成します。
venvを使用した仮想環境
Section titled “venvを使用した仮想環境”# 仮想環境の作成python -m venv env
# 仮想環境の有効化source env/bin/activate
# 仮想環境の無効化deactivatevirtualenvを使用した仮想環境(オプション)
Section titled “virtualenvを使用した仮想環境(オプション)”# virtualenvのインストールpip install virtualenv
# 仮想環境の作成python -m virtualenv env
# 仮想環境の有効化source env/bin/activate重要な注意点
Section titled “重要な注意点”- venvで仮想環境を作成する際、その時点で使用されているPythonバージョンで環境が作成されます
- pyenvでPythonバージョンを切り替えても、既存の仮想環境のバージョンは変わりません
- バージョンを変更したい場合は、仮想環境を作り直す必要があります
パッケージ管理
Section titled “パッケージ管理”requirements.txtの使用
Section titled “requirements.txtの使用”プロジェクトの依存関係を管理するためのファイルです。
requirements.txtの作成
Section titled “requirements.txtの作成”# 現在の環境のパッケージを出力pip freeze > requirements.txt
# 特定のパッケージのみ出力pip freeze | grep django > requirements.txtrequirements.txtからインストール
Section titled “requirements.txtからインストール”pip install -r requirements.txtpip-toolsの使用(推奨)
Section titled “pip-toolsの使用(推奨)”より高度な依存関係管理:
# pip-toolsのインストールpip install pip-tools
# requirements.inから requirements.txtを生成pip-compile requirements.in
# パッケージの同期pip-sync requirements.txtプロジェクトのセットアップ例
Section titled “プロジェクトのセットアップ例”新規プロジェクトの開始
Section titled “新規プロジェクトの開始”# プロジェクトディレクトリの作成mkdir my-project && cd my-project
# Pythonバージョンの指定pyenv local 3.11.3
# 仮想環境の作成と有効化python -m venv venvsource venv/bin/activate
# 基本パッケージのインストールpip install --upgrade pip.gitignoreの設定
Section titled “.gitignoreの設定”# Python__pycache__/*.py[cod]*$py.class*.so.Pythonenv/venv/ENV/.venvpip-log.txtpip-delete-this-directory.txt.pytest_cache/トラブルシューティング
Section titled “トラブルシューティング”pyenvコマンドが見つからない
Section titled “pyenvコマンドが見つからない”-
パスが正しく設定されているか確認
Terminal window echo $PATH | grep pyenv -
.zshrcの設定を再確認
ビルドエラーが発生する場合
Section titled “ビルドエラーが発生する場合”macOSでPythonをビルドする際に必要な依存関係:
# 必要なライブラリをインストールbrew install openssl readline sqlite3 xz zlib tcl-tk
# 環境変数を設定してインストールLDFLAGS="-L$(brew --prefix openssl)/lib" \CPPFLAGS="-I$(brew --prefix openssl)/include" \pyenv install 3.11.3仮想環境が有効にならない
Section titled “仮想環境が有効にならない”# 仮想環境のパスを確認which python
# 正しいパスか確認(venv内のpythonを指しているべき)# 例: /path/to/project/venv/bin/pythonベストプラクティス
Section titled “ベストプラクティス”-
プロジェクトごとに仮想環境を作成
- グローバル環境を汚染しない
- 依存関係の衝突を防ぐ
-
requirements.txtをGitで管理
- チーム間で環境を統一
- 再現可能な環境構築
-
.python-versionファイルをコミット
- プロジェクトで使用するPythonバージョンを明確化
-
定期的な更新
Terminal window # パッケージの更新確認pip list --outdated# セキュリティアップデートの適用pip install --upgrade package-name