よく使うPython開発環境構築(仮想環境anyenv、pyenv,pipenv)
普段Python(Django)でWeb開発してます。
Dockerを使うのは一番モダンだと思いますが、今の自分はDockerワカラナイというのと、
小規模、個人開発で気軽で使いやすいpython開発環境は本記事のやり方だと思うのですぐに構築できるようメモを残そうと思う。
データサイエンスではAnacondaが主流なので、Web系でPythonを使う人向きだと思います。
超参考になった記事
anyenvまとめ
https://qiita.com/SUZUKI_Masaya/items/51366be1510f7fde7cdf
pyenvまとめ
https://qiita.com/SUZUKI_Masaya/items/7ba3fef9eb7c9603762a
2019年に向けてPythonのモダンな開発環境について考える
https://techblog.asahi-net.co.jp/entry/2018/11/19/103455
なぜpipenvを使うのか
anyenvとpyenvを使って仮想環境を作成することでバージョン管理がやりやすくなる。
pipenvを使うとpipfile、pipfile.lockというファイルが作られる
requirement.txtの多機能版である。
RailsでいうGemfileようなもの。
pipfileがあればpipenv installするだけでインストールできる
ローカルを汚したくない人にもおすすめ
# インストールしてpathを通す
$ anyenv install pyenv
$ exec $SHELL -l
$ pyenv install --list # インストールできるバージョンを確認
$ pyenv install 3.7.2 # Python3.7.2をインストール
# ディレクトリ内でPythonへのパスを3.7.2へ通すように設定する
$ pyenv local 3.7.2
venv環境をつくる
# .venvにvenv環境のディレクトリを作る
$ python -m venv venv
# venvを有効化
$ source venv/bin/activate
(venv)$
# ※ 仮想環境の終了は
(venv)$ deactivate
# pipインストールされているpypyを確認
$ python -m pip list
# 必要ならpipのアップグレード
$ pip install --upgrade pip setuptools
pipenvをインストール
$ pip install pipenv
# pythonのバージョン指定(Piofileが作られる)
$ pipenv --three # python3系
# 外部ライブラリのインストール
$ pipenv install ライブラリ
# pythonのバージョンを指定してインストール
$ pipenv install --python 3.5
# キャッシュクリア
# pipfile.lockあたりのエラーが出た際、また妙にpipenv installが遅いときに
$ pipenv lock --clear
# requirements.txt で一括インストールもできる
$ pipenv install -r requirements.txt
あとがき
人によっては、パッケージングが過剰すぎる!と思うかもしれませんが、
そこはプロジェクトによって柔軟にしてください。