adtech周辺に興味がある人の四方山話

adtech, marketing, data analysis, etc...

PythonzとVirtualenvでPythonの環境を作る

ちょっとPythonを使う機会が出てきたのでメモ。Rubyでいうところのrbenvとかrvmと同等のことをPythonでする時の話です。あ、環境はMacOS Xの10.7です。

使うもの

ざっくり言うと、Pythonzが複数のバージョンのPythonを管理できて、VirtualenvはPythonの仮想実行環境を作るもの、という感じです。2つを組み合わせて、特定のバージョンのクリーンなPython実行環境を作る、と言った感じです。

このへんのRubyとの比較がわかり易かった気がします。

Pythonzのインストール

  • PythonzのREADME、Installationの通りで動きます。
1
curl -kL https://raw.github.com/saghul/pythonz/master/pythonz-install | bash

でインストール完了。bashrcに以下を追加(zshでも問題なかった)

1
[[ -s $HOME/.pythonz/etc/bashrc ]] && source $HOME/.pythonz/etc/bashrc

あとは、以下のコマンドでインストールできるバージョンを見つけてインストールします。

1
2
3
4
5
6
7
8
9
10
11
$ pythonz list -a
# Available Python versions
  # cpython:
    2.4
    2.4.1
    2.4.2
    ...()...
$ pythonz install 2.7.3
$ pythonz list
# Installed Python versions
  CPython-2.7.3

Virtualenvのインストール

Virtualenvも特に難しいことはないです。システム環境のPythonにVirtualenvが入ることは許容しました。僕の場合、ケースに併せてクリーンな環境が欲しいわけではなく、単純にバージョン違いのPythonを管理したいだけなので、pythonzを管理しているディレクトリに適当にENV/${Version}というディレクトリを切っています。

1
2
$ sudo pip install virtualenv
$ virtualenv -p ~/.pythonz/pythons/CPython-2.7.3/bin/python ~/.pythonz/ENV/Python-2.7.3

これで、あとは以下の用にactivateしてあげれば、完了です。

1
$ ~/.pythonz/ENV/Python-2.7.3/bin/activate

コンソールの先頭に、Virtualenv環境を作ったディレクトリ名がつけば無事に動いています。この例だと(Python-2.7.3)、といった感じです。あとは、その環境下でpip installしまくってゴリゴリ環境を作ります。

参考