Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么可以';我不能在OS X上安装openstack nova客户端吗?_Python_Openstack Nova - Fatal编程技术网

Python 为什么可以';我不能在OS X上安装openstack nova客户端吗?

Python 为什么可以';我不能在OS X上安装openstack nova客户端吗?,python,openstack-nova,Python,Openstack Nova,我正试图在我的Mac(10.4.8)上安装openstack nova客户端 新星= 我成功安装了nova() 当我运行客户端时,我得到以下错误 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/Pyt

我正试图在我的Mac(10.4.8)上安装openstack nova客户端

新星=

我成功安装了nova()

当我运行客户端时,我得到以下错误

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
foo@bar-MacBookPro:~$nova
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/nova”,第6行,在
从novaclient.shell导入main
文件“/Library/Python/2.7/site-packages/novaclient/_-init___.py”,第15行,在
导入pbr.version
ImportError:没有名为pbr.version的模块
在我的研究中,我发现了关于pbr的相互矛盾的信息,一些人说它是nova所必需的,而另一些人说它不是nova所必需的

当我尝试安装时,我看到以下错误

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
foo@bar-macbook pro:~$sudo python~/Downloads/pbr/setup.py安装
回溯(最近一次呼叫最后一次):
文件“setup.py”,第22行,在
**util.cfg_to_args())
文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/util.py”,第241行,在cfg_至_参数中
pbr.hooks.setup\u hook(配置)
文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/hooks/__init__uuu.py”,第27行,在setup_hook中
元数据_config.run()
文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/hooks/base.py”,第29行,正在运行
self.hook()
文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/hooks/metadata.py”,第28行,在hook中
self.config['name'],self.config.get('version',None))
get_版本中的文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/packaging.py”,第817行
版本=\u从\u git获取\u版本(预版本)
文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/packaging.py”,第776行,位于从git获取的版本中
“git--git dir=\”“+git\u dir+”\“描述--始终”)。替换(
文件“/Volumes/WDBlack750/spencerowen/Downloads/pbr/pbr/packaging.py”,第220行,在_run_shell_命令中
stderr=错误位置)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第679行,在__
错误读取,错误写入)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第1228行,在_execute_child中
引发子对象异常
TypeError:必须是不带空字节的编码字符串,而不是str
是否有任何明显的原因可以解释为什么我不能安装库


当然,我肯定不是第一个尝试在OS X上安装nova的人。

一年后,我终于在OS X Yosemite上实现了这一点

sudo pip install python-novaclient

我不必安装pbr

我基于venv进行了安装:

virtualenv venv_name
source venv_name/bin/activate
pip install python-novaclient fabric
在我的例子中,我有一个混搭,我使用的
python
是通过
fabric
全局安装的方式

之前:
rf-rf
我的所有虚拟机,
rf-rf
对novaclient的所有引用(本地和全局),并删除了调用novaclient的
fabric
的全局安装


另外,作为预防措施,我不会全局安装pip,只在virtualenvs中不使用sudo的情况下使用它。

您是否尝试使用
pip
安装
pbr
virtualenv venv_name
source venv_name/bin/activate
pip install python-novaclient fabric