もうHerokuでもPython 3.3がサポートされているみたいなのでPython書く環境を3系にあげました(趣味Pyなので2系サポートのことはすっかり忘れられて気楽です)。
またPython3.3からはvenvというvirtualenvと似た機能がビルトインされている様なので、そちらを使って環境を作ります。本体はvenvというモジュールですが、コマンドライン用にpyvenvというコマンドが用意されています。venvはデフォルトでdistributeもpipも入らないので、自前で入れる必要があって若干面倒です。まぁ公式モジュールなので仕方ないかもしれません。
当初の思惑通り開発が進んでいれば、Python 3.3.0ではpysetup+pyvenvが入り、いままでpip+virtualenvでできていたようなことができるはずだったのですが、pysetupの取り込みに失敗したため片手落ちの状態になっている印象を受けます。
このへんの話。
なんかいい方法なのかなと公式ドキュメント読んでたらvenv.EnvBuilderのAPI使った拡張スクリプトへのリンクが貼ってあった。
- http://docs.python.org/dev/library/venv.html#an-example-of-extending-envbuilder
- pyvenvex.py https://gist.github.com/vsajip/4673395
curl -LO https://gist.github.com/vsajip/4673395/raw/4a605806c9ad109ff51e4867af06685629167234/pyvenvex.py python pyvenvex.py venv tree -L 1 venv/bin/ venv/bin/ ├── activate ├── activate.csh ├── activate.fish ├── activate_this.py ├── easy_install ├── easy_install-3.3 ├── pip ├── pip-3.3 ├── python ├── python3 -> python └── python3.3 -> python
というかvirtualenv自身が3.3をサポートしてるから、まだvirtualenv使えばいいだけかーというのを今思った。
http://www.virtualenv.org/en/latest/news.html
pysetupというのはなんだろと思ったけどこれのことみたい
http://docs.python.org/dev/install/pysetup.html
以下の資料が詳しかった