macportsを入れる
これもつい先日mavericks用のインストーラが用意されたので入れれば完了。
入れ終わったらアップデートのコマンドを打つ
$ sudo port selfupdate $ sudo port sync
-vオプションくっつけてverbose見ても良い気がする。
ちなみに、macportsのインストーラが自動で設定を書き込むファイルは.bash_profile。
中を覗くと、パスが設定されていることが分かる。
# MacPorts Installer addition on 2013-XX-XX_at_XX:XX:XX: adding an appropriate PATH variable for use with MacPorts. export PATH=/opt/local/bin:/opt/local/sbin:$PATH # Finished adapting your PATH environment variable for use with MacPorts.
Python2.7+virtualenvを入れて開発用に自由に弄れる環境を作る
一番やりたいのはこれ。まず、python2.7をインストール。現時点では2.7.5が入る。
$ sudo port install python27
linuxのディストリのパッケージ管理同様、勝手に依存関係を解決して必要なパッケージを入れてくれる。
ただし、妙に時間がかかった。perlとか割と思い奴も一緒に入ったようだけどそれでも4時間近くかかってしまった。
インストールが完了すると、ご丁寧にpythonコマンドの向き先を変える方法を教えてくれる。
To make python 2.7 the default (i.e. the version you get when you run 'python'), please run: sudo port select --set python python27
CentOSのalternativeみたいなもんかな。選択可能な奴は --list オプションで見ることが出来る。現時点ではこんな感じ。
$ port select --list python Available versions for python: none (active) python27
先のコマンドで切り替える。システムのpythonに向け直すときはnoneに戻してやればよい。
次に、virtualenvを入れる。これもportから。
$ sudo port install py27-virtualenv
ちなみに、pipもport経由から入れることが出来て、virtualenvをpipから入れることが出来るんだけど、コマンドがpip-2.7だったり、virtualenvがスクリプトを直で叩かないとダメっぽかったりするのであんまりおすすめしない。
俺の場合、pipで入れたvirtualenvを消して、上記のport経由で入れなおした。なお、そうするとファイルが重複してるのでインストールが完了できねけって怒られるので指示通り強制有効化を行う。
Error: org.macports.activate for port py27-virtualenv returned: Image error: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/virtualenv-2.7 already exists and does not belong to a registered port. Unable to activate port py27-virtualenv. Use 'port -f activate py27-virtualenv' to force the activation. Please see the log file for port py27-virtualenv for details: (長いので略) To report a bug, follow the instructions in the guide: http://guide.macports.org/#project.tickets Error: Processing of port py27-virtualenv failed
pythonを入れた時と同じく、virtualenvと打ってコマンドが聞くようにする。
$ port select --list virtualenv Available versions for virtualenv: none (active) virtualenv27 $ sudo port select --set virtualenv virtualenv27 Selecting 'virtualenv27' for 'virtualenv' succeeded. 'virtualenv27' is now active.
確認する。
$ which virtualenv /opt/local/bin/virtualenv
おし。ここまで来ればテキトーなディレクトリにpythonを突っ込めば良い。
$ virtualenv env27 $ source env27/bin/activate
当然のようにpipも入ってるので好き放題にモジュールを突っ込めば良い。