【问题标题】:openstack API python - no module named versionopenstack API python - 没有名为版本的模块
【发布时间】:2017-12-04 11:11:05
【问题描述】:

我正在尝试使用 Python 中的 NovaClient API 在 openstack 上实例化 VM。更准确地说是使用 mq-rabbit celery 任务。

不幸的是,我收到了这个错误:

from novaclient import client
File "/usr/local/lib/python2.7/dist-packages/novaclient/__init__.py", line 15, in <module>
import pbr.version
ImportError: No module named version

我已经用一个简单的 python 文件进行了测试,它可以工作,我的 VM 已创建,但是当我尝试通过 celery tash 执行此操作时,我得到了上面的错误...

我的版本是最新的 python-novaclient-6.0.2,但由于我们的服务器是版本 2,我使用版本 2 API。 这是我在 celery 任务中的代码,当我在 python shell 中测试时,它可以工作:

loader = loading.get_plugin_loader('password')
    auth = loader.load_from_options(auth_url=auth_url, username=username, password=password, project_name=tenant_name)
    sess = session.Session(auth=auth)
    nova = client.Client('2', session=sess) #API version and session

【问题讨论】:

  • pip uninstall pbr 然后pip install pbr?

标签: python python-2.7 openstack openstack-nova novaclient


【解决方案1】:

好像和this one一样的错误

基本上,您需要确保已安装 pbr

如果您已经拥有它,重新安装可能会有所帮助

  1. pip uninstall pbr
  2. pip install pbr

【讨论】:

  • 我找到了解决办法,pbr 安装正确。我认为问题出在芹菜任务上。我已经在我的任务中添加了这些导入来实例化虚拟机,它现在可以工作了......即使我不知道确切的原因,所以如果有人得到更多解释,我会很感激;)'从 novaclient 导入客户端从 keystoneauth1 导入加载keystoneauth1 导入会话'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 2019-01-08
  • 2020-08-23
  • 2023-04-01
  • 1970-01-01
  • 2013-09-29
相关资源
最近更新 更多