1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pyenvの仮想環境をGitで管理する方法

Posted at

pyenvの仮想環境をGitで管理する方法

結論

  • Gitに含めるもの: .python-version, requirements.txt
  • Gitに含めないもの: 仮想環境そのもの
補足
.python-version
  • 仮想環境名やPythonバージョンを記録したファイル。
  • 他の開発者が同じリポジトリをクローンしたとき、このファイルに基づいて自動的に環境を切り替えられる。
requirements.txt
  • 仮想環境でインストールされたパッケージの依存関係を記録したファイル。
  • 他の開発者が仮想環境を再現するために必要。

仮想環境そのものはGit管理しない

  • pyenvによる仮想環境は多数のファイルを含むため、Gitで追跡するとリポジトリが肥大化します。
  • 仮想環境を直接共有する代わりに、環境再現に必要な情報(Pythonバージョンやパッケージ一覧)をコードとして管理することで、他の開発者が容易に同じ環境を構築できます。

基本的な手順

1. 仮想環境を作成する

指定したPythonバージョンで仮想環境を作成します。

pyenv virtualenv <Pythonのバージョン> <環境名>

2. プロジェクトディレクトリへ仮想環境を適用する

プロジェクトディレクトリで以下を実行し、.python-versionファイルを生成します。

pyenv local myproject-env

.python-versionはGitで管理することで、他の開発者が同リポジトリをクローンした際に、pyenv localを通じて同じ仮想環境を再現しやすくなります。

3.依存パッケージを管理する

pip install パッケージ名

※pyenvは、virtualenvやvenvのように仮想環境名をプロンプトに自動で追加しません。そのため、仮想環境が切り替わっていても、プロンプトが変化しません。

4.依存関係を記録

プロジェクトに必要なパッケージを記録します。

pip freeze > requirements.txt

5. ".python-version" と "requirements.txt" をGitに追加

git add .python-version requirements.txt
git commit -m "Add pyenv configuration and dependencies"

仮想環境を復元する方法

クローンしたディレクトリで以下を実行してください。

#仮想環境の作成
pyenv virtualenv <Pythonのバージョン> <仮想環境名>
#プロジェクトディレクトリに仮想環境絵を指定
pyenv local <仮想環境名>
#依存パッケージのインストール
pip install -r requirements.tx
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?