0

我不知道在这里粘贴所有代码是否可行,但我正在查看此 git repo中的代码。

如果你看他们做的例子:

ec2 = EC2('access key id', 'secret key')

...但是没有EC2课程。但是,看起来 inlibcloud\providers.py有一个将 映射EC2EC2NodeDriverin的字典libcloud\drivers\ec2.py。正确的映射由 计算get_driver(provider),但该方法似乎没有在任何地方调用。

显然,我是 python 新手,但不是编程新手。我什至不确定我应该在文档中查找什么来解决这个问题。

4

2 回答 2

5

example.py包括如下import声明:

from libcloud.drivers import EC2, Slicehost, Rackspace

这意味着EC2该类是从libcloud.drivers模块中导入的。但是,在这种情况下,libcloud.drivers它实际上是一个(一个 Python包含modules),这意味着EC2应该在一个文件__init__.py中定义libcloud/drivers/它,但事实并非如此。这意味着在这种特定情况下,他们的示例代码实际上是错误的。(我下载了代码,运行时遇到了导入错误example.py,如您所见,该文件libcloud/drivers/__init__.py根本不包含任何定义,至少不包含任何EC2定义。)

于 2009-08-31T04:09:56.980 回答
0

检查 libcloud\examples.py 可能会有所帮助。我看到了这个:

from libcloud.drivers import EC2, Slicehost, Rackspace

python 'import' 语句从其他 python 模块引入类,在本例中来自 libcloud.drivers 模块。

于 2009-08-31T04:04:27.147 回答