Почему я не могу установить клиент openstack nova на OS X?

Я пытаюсь установить клиент openstack nova на свой Mac (10.4.8)

nova = https://github.com/openstack/python-novaclient#command-line-api

python --version
Python 2.7.2

Я успешно установил nova (после установки pip)

Когда я запускаю клиент, я получаю следующую ошибку

foo@bar-macbook-pro:~$ nova
Traceback (most recent call last):
  File "/usr/local/bin/nova", line 6, in <module>
    from novaclient.shell import main
  File "/Library/Python/2.7/site-packages/novaclient/__init__.py", line 15, in <module>
    import pbr.version
ImportError: No module named pbr.version

В своих исследованиях я нашел противоречивую информацию о pbr, некоторые говорят, что это необходимо для nova, а другие говорят, что для nova это не требуется.

https://github.com/rackspace/pyrax/issues/121

Когда я пытаюсь установить pbr, я вижу следующую ошибку.

foo@bar-macbook-pro:~$ sudo python ~/Downloads/pbr/setup.py  install
Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    **util.cfg_to_args())
  File "/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/util.py", line 241, in cfg_to_args
    pbr.hooks.setup_hook(config)
  File "/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/hooks/__init__.py", line 27, in setup_hook
    metadata_config.run()
  File "/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/hooks/base.py", line 29, in run
    self.hook()
  File "/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/hooks/metadata.py", line 28, in hook
    self.config['name'], self.config.get('version', None))
  File "/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/packaging.py", line 817, in get_version
    version = _get_version_from_git(pre_version)
  File "/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/packaging.py", line 776, in _get_version_from_git
    "git --git-dir=\"" + git_dir + "\" describe --always").replace(
  File "/Volumes/WDBlack750/spencerowen/Downloads/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

Есть ли что-нибудь очевидное, что могло бы объяснить, почему я не могу установить библиотеку?

Конечно, я не должен быть первым, кто попытается установить nova на OS X.


person spuder    schedule 09.09.2013    source источник
comment
Вы пытались установить pbr с pip ?   -  person ivica    schedule 29.10.2014


Ответы (2)


Спустя год я, наконец, заработал на OS X Yosemite.

sudo pip install python-novaclient

Мне не нужно было устанавливать pbr.

person spuder    schedule 29.10.2014

Я сделал установку на основе venv:

virtualenv venv_name
source venv_name/bin/activate
pip install python-novaclient fabric

В моем случае у меня была путаница, в которой я использовал python, а fabric устанавливался глобально.

Ранее: rf -rf все мои виртуальные среды, rf -rf все ссылки на novaclient (локально и глобально) и удалена глобальная установка fabric, которая вызывала novaclient.

Также в качестве меры предосторожности я не устанавливаю pip глобально, а использую его только без sudo в virtualenvs.

person jmunsch    schedule 19.12.2016