【问题标题】:Devstack failed with openstackclient.shell Exception raised:python-neutronclientDevstack 失败,openstackclient.shell 引发异常:python-neutronclient
【发布时间】:2015-01-20 15:30:10
【问题描述】:

最近我在尝试 devstack 时遇到了这个错误:

错误:openstackclient.shell 引发异常:python-neutronclient 2.3.9.40.g9ed73c0 已安装,但 []

需要 python-neutronclient=2.3.6

我做了一些调查,发现它可能是由 python 路径问题引起的。 /opt/stack/目录和/usr/local/lib/python2.7/dist-packages目录下有两套openstack客户端安装(如python-neutronclient、python-novaclient等)。以neutronclient为例,我可以在这两个目录下找到:

/opt/stack/python-neutronclient
和
/user/local/lib/python2.7/dist-packages/python-neutronclient

我发现 python 会使用安装在 /opt/stack 下的客户端:

>>> sys.path
['', '/opt/stack/python-keystoneclient', '/opt/stack/python-glanceclient', ..., '/opt/stack/heat', '/opt/stack/tempest', '/usr/lib/python2.7'....]

为什么 python(devstack) 不使用 /usr/local/lib/python2.7 下的包? /opt/stack下的包有问题:egg-info/PKG-INFO中的版本信息不是有效的PEP440版本,比如'2.3.10.dev47.g11deb7f',会导致devstack失败配置 keystone 时出现上述错误:

我不记得我明确设置了 PYTHONPATH 变量。 python或devstack如何在默认系统python路径之前设置/opt/stack/?我检查了 devstack 源代码,但没有找到任何有用的信息。任何人都可以帮忙提供一些提示吗?谢谢!

【问题讨论】:

    标签: python python-2.7 openstack devstack


    【解决方案1】:

    我发现 /usr/local/lib/python2.7/dist-packages 下有一些 *.pth 文件,其中一个包含一些指向 devstack 默认目录的项目(即 /opt/stack/python- neutronclient 等)。这就是为什么将这些目录作为 python 路径的一部分。还有一些 egg-link 文件指向 /opt/stack 下的 openstack 客户端项目文件夹,例如

    ~$ cat /usr/local/lib/python2.7/dist-package/python-neutronclient.egg-link
    /opt/stack/python-neutronclient
    

    所以删除那些egg链接文件,并从*.pth中删除不需要的路径项,然后问题将得到解决。请注意,您可能会将安装在 /user/local/lib/python2.7/dist-packages 下的 openstack 客户端软件包更新到最新版本。您可以通过手动执行“pip install”或“apt-get”来做到这一点,或者在 devstack 中相应地设置“LIBS_FROM_GIT”,例如:

    LIBS_FROM_GIT=python-neutronclient,neutron-vpnaas,neutron-fwaas,neutron-lbaas,python-keystoneclient,python-glanceclient,python-novaclient,python-cinderclient
    

    因此,devstack 会将这些 openstack 客户端项目 git 克隆到 /opt/stack(默认情况下),然后将这些包安装到 /usr/local/lib/python2.7/dist-packages。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-23
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多