0

ここにすべてのコードを貼り付けることができるかどうかはわかりませんが、この git repoのコードを見ています。

例を見ると、次のようになります。

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

EC2...しかし、クラスはありません。ただし、 を にマップするlibcloud\providers.pydict があるように見えます。によって正しいマッピングが計算されますが、そのメソッドはどこにも呼び出されていないようです。EC2EC2NodeDriverlibcloud\drivers\ec2.pyget_driver(provider)

私は明らかにPythonは初めてですが、プログラミングは初めてです。これを理解するためにドキュメントで何を調べるべきかさえわかりません。

4

2 に答える 2

5

example.pyimport次のようなステートメントが含まれています。

from libcloud.drivers import EC2, Slicehost, Rackspace

これは、EC2クラスがlibcloud.driversモジュールからインポートされたことを意味します。ただし、この場合、libcloud.driversは実際にはパッケージです (Pythonパッケージにはmodulesが含まれます)。つまり、は のファイルでEC2定義する必要がありますが、そうではありません。つまり、この特定のケースでは、サンプル コードが実際には間違っているということです。(コードをダウンロードし、実行時にインポート エラーが発生しました。ご覧のとおり、ファイルには定義がまったく含まれていません。少なくとも定義は含まれていません。)__init__.pylibcloud/drivers/example.pylibcloud/drivers/__init__.pyEC2

于 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 に答える