0

我正在尝试使用 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
4

1 回答 1

0

似乎这是同一个错误和这个

基本上你需要的是确保你已经pbr安装。

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

  1. pip uninstall pbr
  2. pip install pbr
于 2017-12-04T11:27:33.867 回答