概要
pythonのvirtualenvを使うと,独立した環境でpythonの環境を構築できる.
これらをgitを通してOS間,PC間で共有したい.
多分イカしたgitignoreやディレクトリ間の設定があるだろう,ということで調べた.
なにがうれしい?
- virtualenvを使うと簡単にpython環境が構築できる
- virtualenvなのでローカルの設定を汚さない
- gitを使って構築したpython環境を簡単に共有
元リポジトリでやること
- git環境構築
- virtualenv用のgitignoreを設定
- virtualenv構築
- pipでパッケージを入れる
- requirement.txtを出力
- リモートリポジトリに反映
具体的な手順
#1. git環境構築
#作業用リポジトリ作成
$ mkdir repo
$ cd repo
#git環境構築
$ git init .
#2. virtualenv用のgitignoreを設定
#以下のgitignoreを追加する
$ touch .gitignore
$ git add .gitignore
$ git commit -m "add .gitignore"
.gitignore
# Created by https://www.gitignore.io/api/virtualenv
### VirtualEnv ###
# Virtualenv
# http://iamzed.com/2009/05/07/a-primer-on-virtualenv/
.Python
[Bb]in
[Ii]nclude
[Ll]ib
[Ll]ib64
[Ll]ocal
[Ss]cripts
pyvenv.cfg
.venv
pip-selfcheck.json
# End of https://www.gitignore.io/api/virtualenv
#3. virtualenv構築
$ virtualenv .
#4. pipでパッケージを入れる
$ pip install hoge
#5. requirement.txtを出力
$ pip list
$ pip freeze > requirements.txt
#6. リモートリポジトリに反映
$ git add .
$ git commit -m "set python env"
$ git push -u origin
クローン先のリポジトリのやること
- git clone
- virtualenv構築
- requirement.txtからpipでパッケージを入れる
- 同期完了
#1. git clone
$ git clone fuga
#2. virtualenv構築
$ virtualenv .
#3. requirement.txtからpipでパッケージを入れる
$ pip install -r requirements.txt
#4. 同期完了
$ pip list
補足
virtualenvすると以下のようなファイルが出てくる.
なのでprojectファイルなどを作成して,そこにソースコードを記述していくと簡潔で分かり良い
# virtualenv した直後のファイル構成
bin/
include/
lib/
local/
share/
pip-selfcheck.json
# 追加したprojectファイル以下にソースコードを入れていくとさらにわかりやすい
project/
自分でやってみたリポジトリ
https://github.com/m-masaki72/virtualenv_git_test
参考文献
Best Practice for virtualenv and git repo
virtualenv (Python仮想環境)の使い方
Python Tips:ライブラリをまとめてインストールしたい