2017-09-25 10 views
0

Ubuntu 16.04で、ローカルGAE開発サーバからインポートエラーが突然発生しています。dev_appserver.pyでファーストパーティライブラリのインポートエラー

管理インターフェイスを含むローカルのデベロッパーサーバーが起動しますが、アプリは読み込まれなくなりました。

同じマシン(この場合は「google.cloudインポートデータストアから」)上の同じライブラリのネイティブPythonインポートは正常に動作します。

GAE標準アプリケーションはデプロイされても動作しますが、開発には少し難題があります。

Googleのクラウドは、バージョン0.27.0 のgcloudコンポーネントが のpythonをアナコンダ2.7.13 GAEは、私が正しいPATHを$という私のまあまあの能力を最大限に確認されている標準

です172.0.1されていますすべての指定されたライブラリ。

名前の付いたすべてのライブラリを削除して再追加しました。

cachetools(2.0.1)Googleのクラウドライブラリの依存関係としてインストールされているので注意してください。これはapps.yamlのrequirements.txtまたは "libraries"でアドレス指定できるとは思われません。

私は最近、apache_beam 2.0.1の問題を修正するためにライブラリを削除して追加するというサイクルを経ています。そのため、別のものを取り上げたかもしれませんが、どこを見ていいのか分かりません。

感謝の意を表します。 (管理者から、アプリと同じ)のフルトレースバック:

Traceback (most recent call last): 
     File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/request_handler.py", line 232, in handle_interactive_request 
    exec(compiled_code, self._command_globals) 
    File "<string>", line 1, in <module> 
    File "/home/brian/anaconda3/lib/python2.7/site-packages/google/cloud/datastore/__init__.py", line 61, in <module> 
    from google.cloud.datastore.client import Client 
    File "/home/brian/anaconda3/lib/python2.7/site-packages/google/cloud/datastore/client.py", line 23, in <module> 
    from google.cloud.client import ClientWithProject 
    File "/home/brian/anaconda3/lib/python2.7/site-packages/google/cloud/client.py", line 27, in <module> 
    from google.oauth2 import service_account 
    File "/home/brian/anaconda3/lib/python2.7/site-packages/google/oauth2/service_account.py", line 79, in <module> 
    from google.auth import jwt 
    File "/home/brian/anaconda3/lib/python2.7/site-packages/google/auth/jwt.py", line 49, in <module> 
    import cachetools 
ImportError: No module named cachetools 
+1

'cachetools'がインストールされていないようです。あなたはそれを再インストールしようとしましたか? –

+0

はい、cachetoolsがインストールされています。 – 1000

答えて

0

私は、アプリのルートディレクトリにrequirements.txtファイルを介して私の問題を取り上げました。

私が持っていた:Googleのクラウド== 0.22.0

し、それを変更:それを固定グーグル、クラウド== 0.27.0

0

スタックトレースは、あなたがいないあなたのアプリから、ローカルシステムのインストールから、ライブラリ(site-packages DIR)を実行しているを示しています。

標準のenv GAEアプリの場合、をアプリ内にインストールする必要があります。は、アプリケーションコードと共にGAEにアップロードされます。

具体的には、pipのインストールには-t <your_app_lib_dir>オプションを使用する必要があります。 Installing a third-party libraryから:

  1. Use pip (version 6 or later) with the -t <directory> flag to copy the libraries into the folder you created in the previous step. For example:

    pip install -t lib/ <library_name> 
    
+0

Danありがとうございます。 cachetoolsの依存関係は純粋にサードパーティの問題ではなく、ネイティブのGoogleクラウドのインポートに由来するので、私のエラーは少し違うと思います。 – 1000

+0

しかし、私はあなたの提案を試して、他のインポートエラーがありました。 Direct-from-dev_appserver.pyスタックトレースは... – 1000

+0

コメントが長すぎます。 – 1000

関連する問題