I've no idea why mwhudson can't reproduce it, but I've figured out what's happening.
When you import bzrlib from within lp.codehosting, it calls load_plugins with a fixed path list, and all is well. BUT when you shell out to bzr lp-serve, merely setting BZR_PLUGIN_PATH=.../bzrplugins is insufficient to avoid importing from the 'site' directory... i.e. /usr/lib/python2.6/dist-packages/bzrlib/plugins/
The proper fix is to include -site in BZR_PLUGIN_PATH to turn this off.
I've no idea why mwhudson can't reproduce it, but I've figured out what's happening.
When you import bzrlib from within lp.codehosting, it calls load_plugins with a fixed path list, and all is well. BUT when you shell out to bzr lp-serve, merely setting BZR_PLUGIN_ PATH=.. ./bzrplugins is insufficient to avoid importing from the 'site' directory... i.e. /usr/lib/ python2. 6/dist- packages/ bzrlib/ plugins/
The proper fix is to include -site in BZR_PLUGIN_PATH to turn this off.