Snow Leopardのeasy_installにはまる

プロキシ環境でeasy_installを使ってtracプラグインをインストールしてみる。Windows XPでは問題なくインストール出来たのに、Snow Leopard (MacOS X 10.6.3) では何故か失敗してしまう。プロキシは環境変数に既に設定済みだ。

$ export http_proxy=http://proxy.server:8080/

出力を見ていると、subversionがプロキシサーバを越えられないようだ。

$ sudo easy_install http://trac-hacks.org/svn/tocmacro/0.11
Downloading http://trac-hacks.org/svn/tocmacro/0.11
Doing subversion checkout from http://trac-hacks.org/svn/tocmacro/0.11 to /var/folders/GP/GPGC2n-dFY0AYFMT+CkRTT+++TI/-Tmp-/easy_install-iXb0p1/0.11
svn: OPTIONS (URL: 'http://trac-hacks.org/svn/tocmacro/0.11'): サーバに接続できませんでした (http://trac-hacks.org)
Processing 0.11
error: Couldn't find a setup script in /var/folders/GP/GPGC2n-dFY0AYFMT+CkRTT+++TI/-Tmp-/easy_install-iXb0p1/0.11

そこで、~/.subversion/serversを開き、下記の設定を追記してみる。

http-proxy-host = proxy.server
http-proxy-port = 8080

今度はサーバにアクセス出来た。プラグインがダウンロードされ、インストールも出来たようだ。

$ sudo easy_install http://trac-hacks.org/svn/tocmacro/0.11
Downloading http://trac-hacks.org/svn/tocmacro/0.11
Doing subversion checkout from http://trac-hacks.org/svn/tocmacro/0.11 to /tmp/easy_install-Ws6bfU/0.11
Processing 0.11
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-Ws6bfU/0.11/egg-dist-tmp-d9DuZv
unrecognized .svn/entries format in 
zip_safe flag not set; analyzing archive contents...
TracTocMacro 11.0.0.3 is already the active version in easy-install.pth

Installed /Library/Python/2.6/site-packages/TracTocMacro-11.0.0.3-py2.6.egg
Processing dependencies for TracTocMacro==11.0.0.3
Finished processing dependencies for TracTocMacro==11.0.0.3

でも、インストール先のパスがおかしい。MacPortsでインストールしたtracを使っているのだから、MacPorts側のPythonにインストールされるべきだ。どのeasy_installを使っていたのだろう?

$ which easy_install
/usr/bin/easy_install

これではなくて、MacPortsのeasy_installを使うべきだ。該当するeasy_installを指定してみる。

$ sudo /opt/local/bin/easy_install-2.6 http://trac-hacks.org/svn/tocmacro/0.11
Downloading http://trac-hacks.org/svn/tocmacro/0.11
Doing subversion checkout from http://trac-hacks.org/svn/tocmacro/0.11 to /tmp/easy_install-ZqxL83/0.11
Processing 0.11
Running setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZqxL83/0.11/egg-dist-tmp-ggYr2G
zip_safe flag not set; analyzing archive contents...
TracTocMacro 11.0.0.3 is already the active version in easy-install.pth

Installed /opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/TracTocMacro-11.0.0.3-py2.6.egg
Processing dependencies for TracTocMacro==11.0.0.3
Finished processing dependencies for TracTocMacro==11.0.0.3

今度は正しくインストールされて、tracの管理画面にプラグインが表示されるようになった。そんな訳で今回の教訓。

  • easy_installをプロキシ環境で使う場合、http_proxyの環境変数を指定するだけでは不充分。別途、subversion用にもプロキシサーバを指定する必要がある。
  • MacPortsで導入したtrac用にプラグインを追加する場合、/usr/local/bin/ではなく/opt/local/bin/に入っているeasy_installを使う必要がある。



関連