我不知道在这里粘贴所有代码是否可行,但我正在查看这个git repo中的代码.
如果你看一下他们做的例子:
ec2 = EC2('access key id', 'secret key')
......但是没有EC2
课.但是,看起来libcloud\providers.py
有一个dict映射EC2
到EC2NodeDriver
找到的libcloud\drivers\ec2.py
.正确的映射是通过计算的get_driver(provider)
,但该方法似乎不会在任何地方调用.
显然,我是python的新手,但不是编程.我甚至不确定我应该在文档中查找什么来解决这个问题.
example.py
包括一条import
声明如下:
from libcloud.drivers import EC2, Slicehost, Rackspace
这意味着EC2
该类是从libcloud.drivers
模块导入的.但是,在这种情况下,libcloud.drivers
实际上是一个包(一个Python 包包含模块),这意味着EC2
应该在一个文件__init__.py
中定义libcloud/drivers/
,但事实并非如此.这意味着在这种特定情况下,他们的示例代码实际上是错误的.(我下载了代码并在运行时遇到导入错误example.py
,正如您所看到的,该文件libcloud/drivers/__init__.py
根本不包含任何定义,最不重要的是EC2
定义.)