Mac で Python

そういえば、4月に転職しました。

新しい会社は前の会社と色々ちがって楽しいです。環境的に、みんなmacで開発言語もpythonがメインだったりします。なので、MacPythonを始めるときにやっておいた方がよさそうな事を思い出しながら残してみるテスト。

1. homebrew で Pythonのインストール

最近のマカーのオサレは、homebrewらしいので、brewコマンドでpythonをインストールしませう。

brew install python

HomebrewやらMacportsのアンインストールやらはこちらを参考にしました。

http://d.hatena.ne.jp/ruedap/20110217/mac_install_homebrew_uninstall_macports

python がインストールされると、下記のようにシンボリックリンクが張られると思います。

/usr/local/bin/python -> ../Cellar/python/2.7.1/bin/python

このままだと、Macでデフォルトで入っている/usr/bin以下のpythonが使われてしまうので、優先的に、/usr/local/bin以下のパスを探すように、.bashrcか何かに書いてあげると良さそうです。

export PATH=/usr/local/bin:$PATH

パスが通ったら、「python」とたたけば、brewでインストールしたpythonが使われると思います。

2. pipのインストール

次に、pipというpythonのパッケージをインストールできるやつをインストールしましょう。

さて、いくつか homebrew + python な インストール方法を探していると、

http://blog.evitat.net/archives/1178

上記記事のように「brew install pip 」と homebrew でインストールできる事が書かれていますが、brew周りは活発に開発されているらしく、既に、brewでは pipのFormula が提供されていないようでインストールできません。

2011-03-31

なのでこちらの記事のように、pythonをインストールしたタイミングで、一緒にインストールされている、easy_installを使って、pipをインストールしましょう.

brew install pythonでインストールされたeasy_installは/usr/local/share以下に配置されているので、上でパスを通した/usr/local/bin以下にシンボリックリンクを張ってやりましょう。

ln -s /usr/local/share/python/easy_install /usr/local/bin/easy_install
ln -s /usr/local/share/python/easy_install-2.7 /usr/local/bin/easy_install-2.7

これで普通にeasy_installとしたたけるようになりました。んで、pipのインストールです。

easy_install pip

これでインストールができましたが、easy_installと同様に、/usr/local/share以下にインストールされるのでまたシンボリックリンクをはってやりませう。

ln -s /usr/local/share/python/pip /usr/local/bin/pip
ln -s /usr/local/share/python/pip-2.7 /usr/local/bin/pip-2.7

これでpipと素で打てばコマンドが認識されるようになったと思います。

3. 便利ツールのインストール

ここからはpipでデフォルトで必要そうなものをインストールしときましょう。

  • mercurial
  • pep8 => pep8 コーディング規約_のチェク
  • pyflakes => 文法チェック
  • virtualenv => 仮想開発環境 構築ツール
  • virtualenvwrapper => ↑のさらに便利に使うラッパー

詳しい説明は後日にしますがとりあえずこんな所をインストールしておくとよいかなと思います。

pip install mercurial
pip install pep8
pip install pyflakes
pip install virtualenv
pip install virtualenvwrapper 

pipでインストールしたものも、基本的に/usr/local/share以下にインストールされているので、/usr/local/bin以下にシンボリックリンクがなければ張っておいてあげてると良いと思います。

こんな感じになってる。

ls -la  /usr/loca/bin

hg -> /usr/local/share/python/hg
pep8 -> /usr/local/share/python/pep8
pyflakes -> /usr/local/share/python/pyflakes
virtualenv -> /usr/local/share/python/virtualenv
virtualenvwrapper.sh -> /usr/local/share/python/virtualenvwrapper.sh

これで hgやら、pep8やら、virtualenvやらがコマンドとしてたたけるようになったと思います。最後にvirtualenvwrapperだけはちょっと準備をしてあげる必要があります。

仮想環境を構築するための、セッティングの情報?をとりあえず、~/.virtualenvs以下におくと仮定して、.virtualenvsというディレクトリを作りませう。

cd ~
mkdir .virtualenvs

ディレクトリを作ったら、virtualenvwrapperに、仮想環境用のファイルはここに作ってねという意味で、環境変数WORKON_HOMEを設定してあげます。.bashrcとかに下記のように書いてあげると良いかもです。

#virtualenv setting
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
   export WORKON_HOME=$HOME/.virtualenvs
   source /usr/local/bin/virtualenvwrapper.sh
fi

これで、「source .bashrc」とかすれば、virtualenvwrapperのコマンドがたたけるようになるかと思います。

$ mkvirtualenv

You must provide a DEST_DIR
Usage: virtualenv [OPTIONS] DEST_DIR

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Increase verbosity
  -q, --quiet           Decrease verbosity
  -p PYTHON_EXE, --python=PYTHON_EXE
                        The Python interpreter to use, e.g.,
                        --python=python2.5 will use the python2.5 interpreter
                        to create the new environment.  The default is the
                        interpreter that virtualenv was installed with
                        (/usr/local/Cellar/python/2.7.1/bin/python)
  --clear               Clear out the non-root install and start from scratch
  --no-site-packages    Don't give access to the global site-packages dir to
                        the virtual environment
  --unzip-setuptools    Unzip Setuptools or Distribute when installing it
  --relocatable         Make an EXISTING virtualenv environment relocatable.
                        This fixes up scripts and makes all .pth files
                        relative
  --distribute          Use Distribute instead of Setuptools. Set environ
                        variable VIRTUALENV_USE_DISTRIBUTE to make it the
                        default
  --prompt==PROMPT      Provides an alternative prompt prefix for this
                        environment

今日はここまでにしましょう。書くのつかれたわ。

一点だけ補足をしておくと、これ以降は virtualenv環境化で必要なパッケージをインストールしたいので、今回のように素でpip installとかはあんまりしません。逆にデフォで入っていて欲しいとか、毎回仮想環境化でinstallするのたるいわーとかいうのがあれば、素でたたいておくと良いのかもしれません。