2017-05-16 6 views
0

我々はエラーを受けている:oauth2clientをインポートし、 "ImportError:oauth2client.clientというモジュールがありません"を防止しますか?

ImportError: No module named OAuth2Client

私たちは、このトピックの周りの質問のスコアを気づいた、多くの未回答やGoogleのApp Engine SDKからのファイルの上にコピーするのソリューションを説明し、少なくとも1つの答え。

しかし、このアプローチは、すべての依存関係が不明であるため、面倒です。 oauth2clientをコピーして実行すると、次のエラーは別のモジュールが見つからない場合です。それでは、別のモジュールが欠落しているなどを修正してください。

皮肉なことは、PyCharmのGoogle App Engine SDKからリストされたすべてのファイルとモジュールを見ることができますが、スクリプトにはアクセスできないように見えます。

oauth2clientがApp Engineで動作するためにPythonに必要なすべてのファイルを取得する良い方法はありますか?

答えて

2

答えはファイル内の「ベンダー」です。

https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring とこのSO answerに基づいてこの問題を解決する簡単な方法を見つけました。

  1. をapp.yamlファイルと同じフォルダに「LIB」と呼ばれる新しいフォルダを作成します。 (あなただけの下にその名前を使用しています。他に何かそれに名前を付けることができます。)

  2. を空のファイルを作成することに2行を追加をapp.yamlファイルと同じフォルダに

  3. appengine_config.pyと呼ばれますappengine_config.pyファイル:

    from google.appengine.ext import vendor vendor.add('lib')

  4. 端末から、そのファイルが含まれており、以下のコマンドを実行したディレクトリに移動します。

    sudo pip install -t lib google-api-python-client

インポートエラーが消え、あなたが同様にすべてのサブ依存モジュールを持つことになります。

0

私はこの問題を持っているとPIP3とoauth2clientをインストールすることで解決:

PIP3は--upgrade oauth2client

をインストール
関連する問題