我已经在我的Ubuntu 14.04 LTS 64位上安装了devstack,使用官方repo的最新版本。
每当我在终端中运行openstack --help
时,用法,描述和可选参数都会正常显示,但除了2~4个命令之外的所有命令都显示如下:
Could not load EntryPoint.parse('server_show = openstackclient.compute.v2.server:ShowServer')
Could not load EntryPoint.parse('server_ssh = openstackclient.compute.v2.server:SshServer')
Could not load EntryPoint.parse('server_suspend = openstackclient.compute.v2.server:SuspendServer')
运行openstack --debug --help
表明这些问题的根似乎是python的版本冲突(所有命令共享最后两行):
Could not load EntryPoint.parse('backup_list = openstackclient.volume.v1.backup:ListBackup')
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/cliff/help.py", line 22, in __call__
factory = ep.load()
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2369, in load
self.require(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2386, in require
items = working_set.resolve(reqs, env, installer)
File "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 851, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
VersionConflict: (python-neutronclient 3.0.0 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('python-neutronclient<3,>=2.6.0'))
Could not load EntryPoint.parse('backup_restore = openstackclient.volume.v1.backup:RestoreBackup')
我仔细检查过,我安装了python 2.7.6和3.4.3。根据{{3}},我设置了alias python=python2
,但这似乎没有任何改变。后退alias python=python3
也没有帮助。 (别名正在运行,因为python --version
显示正确的版本号。)
我找到了另一个人this answer to an unrelated question,但没有人对他们的帖子发表评论。
我怀疑此错误可能是配置/安装问题的症状,导致其他基本命令显示异常行为。有什么办法可以解决吗?
答案 0 :(得分:0)
https://github.com/openstack/requirements/commit/840d85eb5301cc63225f1fd7fbdb4f9ca2cc8489将python-neutronclient更新为=== 3.1.0,这发生在第23页,这意味着master和stable / liberty都有这样的变化,stable / kilo已经将它变为2.6.0。我不知道你使用的是什么版本,你的意思是什么。