Python の個別の環境を作る Virtualenv を Pythonz と組み合わせて使っているけど、tmux と組み合わせて使った時になんかおかしいなーと思っていた。
Virtualenv を activate したシェルから tmux を立ち上げると、tmux の中のシェルはサブシェルになる(と思ってるけど違うかもしれない)。
virtualenv は activate 時に deactivate が呼ばれるんだけど、うまく deactivate できなくなっていておかしくなる。これは、activate 前の PATH をシェル変数に保存しているんだけど、そのシェル変数がサブシェルに引き継がれないことが問題。これをサブシェルに引き継ぐためには export して環境変数にしておけば良い。ということで、activate ファイルを書き換えて環境変数として export されるようにしたところ解決した。