MacOS X(Lion)にBazaarをインストールしてみた

11月19日 SCMBootCamp in Tokyo 2(一次募集)(東京都)に申し込んだところBazaarでの参加になった。
ので、さっくりインストールするつもりだったが、少しはまったのでメモしておく。
環境はMacOS X(Lion)。

Bazaar のインストール

結論としては、500 Internal Server Errorのとおりにやると動いた。

  • stableのdmgをダウンロードする
  • 落としたdmgを展開しインストール

Bazaar の動作確認

で、自分の環境だとこのまま動かすと以下のようなエラー発生。

$ bzr --version
bzr: ERROR: Couldn't import bzrlib and dependencies.
Please check the directory containing bzrlib is on your PYTHONPATH.

Traceback (most recent call last):
  File "/usr/local/bin/bzr", line 102, in <module>
    import bzrlib
ImportError: No module named bzrlib

調べてみたらどうやらbazaar-mac-installerのバグっぽい。

python2.6ではないからか。たしかに自分の環境はpython2.7がデフォルトのようだ。
解決方法もある模様。というか、LionにするとPythonのバージョンが2.7にあがるのか・・・。

/usr/local/bin/bzr の中身を変えるのもなんだかなぁという感じだったので、(これでも動いたっぽいけど)
もう少し調べたらPythonのデフォルトバージョンを指定するよさげな方法がでてきた。

$ export VERSIONER_PYTHON_VERSION=2.6
    • 恒久的に変える場合
$ defaults write com.apple.versioner.python Version 2.6

500 Internal Server Errorの上の方にちゃんと書いてあるし・・・

というわけで、インストールできたっぽい。

$ bzr --version
Bazaar (bzr) 2.4.1
  Python interpreter: /usr/bin/python 2.6.7
  Python standard library: /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6
  Platform: Darwin-11.2.0-x86_64-i386-64bit
  bzrlib: /Library/Python/2.6/site-packages/bzrlib
  Bazaar configuration: /Users/username/.bazaar
  Bazaar log file: /Users/username/.bzr.log

Copyright 2005-2011 Canonical Ltd.
http://bazaar.canonical.com/

bzr comes with ABSOLUTELY NO WARRANTY.  bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Bazaar is part of the GNU Project to produce a free operating system.

(たぶん)MacPorts使っている場合の注意点

MacPortspythonをいれると /opt/local/bin/python にインストールされる模様。しかもそのパスがシステムのPython(/usr/bin/python)より優先されている。
ので、上で書いたデフォルト指定しても、フルパスでないpythonコマンドのみだとバージョンは変わらない。
あくまでもデフォルトは、システムの /usr/bin/python のバージョンが変わるようだ。
Bazaarは /usr/bin/python を使っているので2.6で動いてくれる。