pythonの開発環境
色々あってPythonの開発環境を立てようと思って調べたのだけど、ややこしかったので自分なりのまとめ。
現状のまとめとしては以下が一番わかりやすかったですね。
Rubyist が pyenv を使うときに知っておいてほしいこと - Qiita
現状の自分の結論的には
- 2系が必要なければpython3 + venv
- 2系が必要になったらpyenv + virtualenv
という感じです。
python3 + venv memo
% brew install python3 % python3 -m venv venv % . venv/bin/activate % pip freeze > requrements.txt % pip install -r requrements.txt % deactivate
venvのactivate/deactivateを自動でやる方法
はじめはdirenvを使って実現しようと思ったけど、directoryから出た時の動作が定義できないからうまくいかなそうとと思って調べたところ同じようにやろうとした人がいてつまづいてた。
direnvでvenv環境を自動でactivate — そこはかとなく書くよん。
とりあえずローカルで試してみたところ以下の環境であれ動くぞ...となったのだけど
zsh: 5.4.2 direnv: v2.13.1 python: 3.6.3
これはdirenvの.envrcがbash sub-shellから読まれるのとそこからの環境変数引き継ぎ周りが関係して
たまたま動いているように見えただけでdeactivateは見えないし闇な感じしかしない。
結果的に環境変数のexportだけだから、そのdirectoryから出ると正しく動いてそうに見えてしまう。
source does not work · Issue #268 · direnv/direnv · GitHub
そこから色々調べた結果、zsh使ってるなら以下を参考にzsh-autoenv使うのが
まぁよさそうかなーというところに落ち着きそうです
zsh-autoenvを使って、virtualenvの自動activate/deactivateを実現する - $shibayu36->blog;