pythonの開発環境

色々あってPythonの開発環境を立てようと思って調べたのだけど、ややこしかったので自分なりのまとめ。

現状のまとめとしては以下が一番わかりやすかったですね。
Rubyist が pyenv を使うときに知っておいてほしいこと - Qiita

現状の自分の結論的には

という感じです。

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;