安装pbr时出错

时间:2013-09-30 06:18:09

标签: python macos openstack python-pbr

我想在运行OSX 10.8.5的计算机上安装openstack客户端。作为先决条件,我需要安装pbr。所以,我做了以下

git clone git://github.com/openstack-dev/pbr.git
cd pbr
sudo python setup.py install

但我得到以下错误跟踪

Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    **util.cfg_to_args())
  File "/Users/jimcgh/dev/pbr/pbr/util.py", line 241, in cfg_to_args
    pbr.hooks.setup_hook(config)
  File "/Users/jimcgh/dev/pbr/pbr/hooks/__init__.py", line 27, in setup_hook
    metadata_config.run()
  File "/Users/jimcgh/dev/pbr/pbr/hooks/base.py", line 29, in run
    self.hook()
  File "/Users/jimcgh/dev/pbr/pbr/hooks/metadata.py", line 28, in hook
    self.config['name'], self.config.get('version', None))
  File "/Users/jimcgh/dev/pbr/pbr/packaging.py", line 817, in get_version
    version = _get_version_from_git(pre_version)
  File "/Users/jimcgh/dev/pbr/pbr/packaging.py", line 776, in _get_version_from_git
    "git --git-dir=\"" + git_dir + "\" describe --always").replace(
  File "/Users/jimcgh/dev/pbr/pbr/packaging.py", line 220, in _run_shell_command
    stderr=err_location)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1228, in _execute_child
    raise child_exception
TypeError: must be encoded string without NULL bytes, not str

我该如何解决这个问题?

请帮忙。 谢谢

1 个答案:

答案 0 :(得分:3)

这是因为git repo的构建正在开发中,并且可能存在错误。我使用pip从稳定版本(在pypi上)安装pbr,如下所示:

sudo easy_install pip # if you don't already have pip
pip install pbr

如果您有easy_installpip,请按照this教程进行操作。

如果您不想使用easy_installpip等包管理器。然后你可以转到the PyPI page,然后下载tarball。只需提取tarball并在python setup.py包中运行pbr即可。但安装pip将为您节省很多麻烦。