以编程方式确定Bazaar插件目录

时间:2009-12-07 18:23:15

标签: bazaar

有没有办法以编程方式确定Bazaar目录? 如果有一个bazaar命令来确定插件目录,这将是最好的解决方案。

4 个答案:

答案 0 :(得分:2)

在以下目录中搜索Bazaar插件:

* <pythonlib>/site-packages/bzrlib/plugins/ 
      (where <pythonlib> is something like usr/lib/python2.4, 
       depending on your installation)

* $HOME/.bazaar/plugins/

您也可以通过BZR_PLUGIN_PATH environement变量设置bazaar插件目录。

有关市集插件的更多信息:http://bazaar-vcs.org/BzrPlugins

答案 1 :(得分:2)

根据集市website, 默认情况下会在~/.bazaar/plugins中查找用户插件,但可能会被环境变量BZR_PLUGIN_PATH覆盖。 因此测试是否设置了此变量,否则返回默认值。在python:

import os
user_plugin_path = os.environ.get('BZR_PLUGIN_PATH', '~/.bazaar/plugins')

编辑:这适用于基于unix的系统,对于windows,使用插件路径为$APPDATA/bazaar/2.0/plugins

系统范围的插件位于bzrlib/plugins,请参阅页面here下的安装插件。使用distutils获取前缀(例如/usr/lib/python2.4/site-packages/bzrlib/plugins/):

from distutils.sysconfig import get_python_lib
global_plugin_path = os.path.join(get_python_lib(), 'bzrlib/plugins')

(感谢MYYN提供其他文档页面)

答案 2 :(得分:1)

查看Bazaar configuration:的{​​{1}}输出。另请参阅bzr version中的函数show_version

对于配置目录,请使用:

bzrlib/version.py

或者,对于用户插件路径(请参阅from bzrlib import config print config.config_dir() ):

bzrlib/plugin.py

有关插件路径的完整列表:

from bzrlib import plugin
print plugin.get_user_plugin_path()

答案 3 :(得分:1)

如果您的系统中安装了bzr,您可以使用以下Python代码段来获取bzr寻找插件的目录列表:

 >>> import os
 >>> from bzrlib import plugin
 >>> list_of_bzr_plugins_paths = [os.path.abspath(p) 
         for p in plugin.get_standard_plugins_path()]