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

CentOSalternativeみたいなもんかな。選択可能な奴は --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も入ってるので好き放題にモジュールを突っ込めば良い。