2016-05-21 20 views
1

は私がboto3を使用してAWS-EC2への接続を作成した場合、それはタイプboto3.resources.factory.ec2.ServiceResourceのPython 3.5タイプヒンティングファクトリータイプ

import boto3 
cnxn = boto3.Session().resource('ec2') 
type(cnxn) 
>> boto3.resources.factory.ec2.ServiceResource 

を返している私は、タイプヒンティングのための型としてこれを使用することができるようにしたいと思います。しかし、私はそれを参照しようとすると、私はエラーが発生します。

ヒントとしてこれらのタイプを使用する方法はありますか?

編集:インポートも

import boto3.resources.factory.ec2 
>> ImportError: No module named 'boto3.resources.factory.ec2'; 'boto3.resources.factory' is not a package 
+1

おそらく 'import boto3.resources.factory.ec2'を実行する必要がありますか? – BrenBarn

+0

これは、ImportErrorを与えます - 編集を参照してください。 – satvikberi

+0

'import boto3.ec2'について([この質問](http://stackoverflow.com/questions/37045947/s3-module-for-downloading-files-is-not-working-in-ansible)で提案されています) )?あなたがそのAttributeErrorメッセージのためにgoogleするなら、人々が類似のエラーを経験した様々なページを見つけるでしょう;それらのいくつかはあなたを助けるかもしれません。 – BrenBarn

答えて

0

forward referencesは実行時まで存在しないため、使用する必要があります。

+0

これはまさにそれです、ありがとう! – satvikberi

-1

のpython type documentation

何が得ることは型オブジェクトであるを参照してください動作しません。タイプから新しいオブジェクトを作成する場合は、class type(name, bases, dict)を使用して新しいオブジェクトを作成します。例のとおり:

>>> class X(object): 
...  a = 1 
... 
>>> X = type('X', (object,), dict(a=1))