2017-12-18 12 views
0

私が使用している:JSONの資格を持つlibcloud:ドライバの初期化時に1つの要求される位置引数エラーが不足している

  • libcloud 2.2.1
  • のpython 3.5.2
  • virtualenvの
  • GCEサービスアカウント

    :次のようになります

Pythonコードをファイル私は私のコードを実行すると

、私は取得しています:

Traceback (most recent call last): 
    File "./myscript.py", line 47, in <module> 
    run() 
    File "./myscript.py", line 21, in run 
    project='ebs-it', secure=True) 
    File "/***/virtualenv/lib/python3.5/site-packages/libcloud/compute/drivers/gce.py", line 1795, in __init__ 
    super(GCENodeDriver, self).__init__(user_id, key, **kwargs) 
    File "/***/virtualenv/lib/python3.5/site-packages/libcloud/common/base.py", line 975, in __init__ 
    self.connection = self.connectionCls(*args, **conn_kwargs) 
TypeError: __init__() missing 1 required positional argument: 'secure' 

これは私にperfectly textbookに見えます。どんなアイデアが間違っている可能性がありますか?

答えて

0

問題は2つありました。Googleのサービスアカウントに不慣れなため、コーディングでエラーが発生しました。

  1. 各サービスアカウントは、私が唯一の資格情報画面で「サービスアカウントの管理」をクリックした後に発見され、それに関連付けられた電子メール/ IDを持っています。私は誤ってuser_idとして自分のGoogleアカウントを使用していました。なぜなら、他にフィールドに入れるべきものが何であるか分からないからです(たとえそれが意味をなさないものの、代替手段を見ることができませんでした)。
  2. libcloudコードを調べた結果、サービスアカウントファイルに使用するkeyパラメータよりもよく適合しているようなcredential_fileパラメータが検出されました。それが私が見ていた実際のエラーにつながったのです。
関連する問題