くろねこ日記

ソフトウェアに関する技術メモが多いです.

pythonの設定

こんにちは

一昨年の冬頃からPythonに本腰入れました.
今回は半年程度使ってみて多少僕なりにお勧めの環境というのができあがったので,メモの意味も含めて紹介します.

まず,Pythonどれつかえばいいの?
とりあえず,今のところは書籍的に豊富なPython2.7がおすすめです.ライブラリも3.xは最近だと安定したらしいのですが,現状は2.7のほうが文献は圧倒的に多いです.

Pythonのインストール
MacユーザならデフォルトでPythonが入っているのですが,システムに組み込まれているものを使うのに抵抗のある人もいると思います.
そこでおすすめなのはパッケージ管理ソフトHomebrewを使って,Pythonをインストールすることです.(Pythonbrewというのも出ているらしいのですが使ったことが無いのでわかりません.)
Homebrewの良いところは一般ユーザで扱えるところです.
Homebrewをインストールしている方は下記のコマンドでPythonをインストールできます
brew install python[enter]
インストールしたら.bashrcや.zshrcなりに/usr/local/bin/にPathを通しましょう.
通ったのを確認するためにwhichで呼び出し先を確認しましょう.
which python[enter]
これで
/usr/local/bin/python
と表示されればOKです.

パッケージ管理ツールpipの導入
homebrewでpythonが入ると同時に,easy_installというパッケージ管理ツールがインストールされます.
easy_installは様々なライブラリをインストールできますが,インストールしたライブラリの管理を行うことはできません.そこで,pipを使います.pipを使うことでライブラリのインストールはもちろんのこと,アンインストール,どのライブラリをいままでインストールしたかについて管理することができます.
pipは
easy_install pip[enter]
でインストールができます.
インストールが完了すると次のコマンドを入力しましょう
which pip[enter]
コマンドを入力するとpipのインストール先を確認できます.
/usr/local/bin/pip
これでpipのインストールはできました.
試しにpipでsphinxというドキュメント作成支援ソフトをインストールしてみましょう.
pip install sphinx [enter]
でインストールができます.
インストールしたsphinxを使えるようにPathを通しましょう.
.bashrcか.zshrcに
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
と入力し設定を反映させるとsphinxなどのライブラリが使えるようになります.

virtualenvでPythonの環境を仮想化
先ほどインストールしたpythonを使ってガリガリプログラムを組んだり,easy_installやpipを使ってライブラリを入れることもできるのですが,
ここでおすすめしたいのはvirtualenvという仮想環境下でPythonを扱うことです.
仮想化することで環境ごとにPythonのバージョンやライブラリを変えることができます.
ですので,ライブラリ適当に突っ込んでプログラム組んだのは良いけれど後からわけわからないことにならずに済みます.
僕の場合は↓のようにpythonのバージョンごとにvirtualenvで開発環境を分けてます.
python2.3,・・・,python2.7
もし2.3を動かす必要が出てくればvirtualenvの上で簡単に切り替えが可能です.
virtualenvのインストールは
pip install virtualenv
pip install virtualenvwrapper
としてください.
二つ目のwrapperはvirtualenvを使いやすくするためのものです.

vimPython
これまでJavaC++,C#などの言語を使ってきた人にとってはPythonにはIDEが無いの?という疑問が沸くと思います.いくら使いやすい言語といってもテキストエディタだけで書くのは抵抗がありますよね.
一応Pythonをインストールしたときにはついてくるらしいのですが,僕はVimの上で開発するのをおすすめします.
Vimmacosxの場合は標準にインストールされています.
Vimの設定ファイルは.vimrcというファイルになります.ここにvimの設定を書いてホームディレクトリにでも置いておけばvimを起動したときに読み込まれることでしょう.
vimで使っているpythonのコーディング支援は主に次のものを使ってます.
quickrun・・・エディタ上ですぐにプログラムを実行できる
pythoncomplete・・・pythonに関するコードアシスト機能
rope-vim・・・リファクタリング