我不知道是否可以在这里粘贴所有代码,但我正在查看this git repo中的代码。在
如果你看看这个例子:
ec2 = EC2('access key id', 'secret key')
…但是没有EC2
类。然而,看起来在libcloud\providers.py
中有一个dict,它将EC2
映射到libcloud\drivers\ec2.py
中的EC2NodeDriver
。正确的映射由get_driver(provider)
计算,但该方法似乎在任何地方都不会被调用。在
显然,我对python还不熟悉,但对编程不是很熟悉。我甚至不知道我应该在文件里查些什么来解决这个问题。在
查看libcloud\示例.py可能会有帮助。我看到了这个:
python“import”语句从其他python模块引入类,在本例中是从libcloud.drivers文件模块。在
example.py
包含一个import
语句,其内容如下:这意味着
EC2
类是从libcloud.drivers
模块导入的。然而,在本例中,libcloud.drivers
实际上是一个包(Python包包含模块),这意味着EC2
应该在libcloud/drivers/
中的文件__init__.py
中定义,但事实并非如此。这意味着在这个特定的例子中,他们的示例代码实际上是错误的。(我下载了代码,在运行example.py
时出现导入错误,正如您所见,文件libcloud/drivers/__init__.py
根本不包含任何定义,至少是EC2
定义。)相关问题 更多 >
编程相关推荐