Openstack,Nova和--help:“无法加载EntryPoint.parse”错误

问题描述 投票:0回答:2

设置

我已经使用官方仓库中的最新版本在64位Ubuntu 14.04 LTS上安装了devstack。

问题

[每当我在终端中运行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。按照this answer to an unrelated question,我设置了alias python=python2,但这似乎没有任何改变。退回alias python=python3也无济于事。 (由于[C​​0]显示正确的版本号,因此别名正在运行。)

我找到了另一个人python --version,但没有人评论他们的帖子。

我怀疑此错误可能是配置/安装问题的症状,该问题导致其他基本命令显示异常行为。有什么办法可以解决?

python openstack openstack-nova
2个回答
0
投票
with the exact same problem已将python-neutronclient更新为=== 3.1.0,这发生在9月23日,这意味着master和stable / libty都进行了此类更改,stable / kilo将其固定为2.6.0。我不知道您使用的是什么版本,您的意思是最新的。

0
投票
安装时您的python和pip版本不匹配时,会发生此问题。

防止此问题的最佳方法是将

virtual environment与python版本一起使用。 [https://github.com/openstack/requirements/commit/840d85eb5301cc63225f1fd7fbdb4f9ca2cc8489]

virtualenv doc
或根据您对virtualenv -p $(which <python2 / python3> ) <en_vname>
的尝试,

执行aliasalias pip=pip2,它将起作用。

如果没有任何效果,则从站点软件包中删除所有特定的已安装软件包(您或您的脚本之前已安装)。您将使用alias pip=pip3site-package path命令找到pip --version,然后重新安装该软件包。

© www.soinside.com 2019 - 2024. All rights reserved.