Dan*_*low 0 python python-import
我不知道在这里粘贴所有代码是否可行,但我正在查看这个git repo中的代码.
如果你看一下他们做的例子:
ec2 = EC2('access key id', 'secret key')
Run Code Online (Sandbox Code Playgroud)
......但是没有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
Run Code Online (Sandbox Code Playgroud)
这意味着EC2该类是从libcloud.drivers模块导入的.但是,在这种情况下,libcloud.drivers实际上是一个包(一个Python 包包含模块),这意味着EC2应该在一个文件__init__.py中定义libcloud/drivers/,但事实并非如此.这意味着在这种特定情况下,他们的示例代码实际上是错误的.(我下载了代码并在运行时遇到导入错误example.py,正如您所看到的,该文件libcloud/drivers/__init__.py根本不包含任何定义,最不重要的是EC2定义.)