有没有办法以编程方式确定Bazaar目录? 如果有一个bazaar命令来确定插件目录,这将是最好的解决方案。
答案 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()]