4

Google App Engine Web アプリケーションで Google Calendar API を使用したいと考えています。ここ ( https://developers.google.com/google-apps/calendar/instantiate )の指示に従ってアプリを構成しましたが、gflags をインポートする必要がありました。ここで gflags をダウンロードし ( https://code.google.com/p/python-gflags/downloads/list )、webapp の main.py と同じディレクトリに解凍しました。次に、コマンド ラインで「Python setup.py install」を実行して gflags をセットアップします。セットアップは成功し、次のように表示されました。

インストールされた c:\python27\lib\site-packages\python_gflags-2.0-py2.7.egg

python-gflags==2.0 の依存関係の処理

python-gflags==2 の依存関係の処理が完了しました。

しかし、この行はまだ機能しません:

 import gflags

ログに次のエラーが表示されます。

NotImplementedError: tools.run() を使用するには、gflags ライブラリをインストールする必要があります。gflags をインストールするか、できれば tools.run_flow() の使用に切り替えてください

しかし、私はすでにgflagsをインストールしていると思いましたか? また、setup.py が c:\python27\lib フォルダーに Python の卵を作成した理由についても混乱しています。これは、Google App Engine がそれにアクセスできないということですか?

4

1 に答える 1

5

あなたは正しい道を進んでいますが、彼らのpythonセットアップ手順はあなたを台無しにしています。GAE ではうまく動作しません。

アプリを GAE にデプロイすると、プロジェクト フォルダー全体が GAE サーバーにアップロードされます。すべてのライブラリはプロジェクト フォルダー内にある必要があります。そうしないと、GAE サーバーで実行するときにライブラリが失われます。

ただし、Python ライブラリをインストールするときは、通常、実際のライブラリといくつかのインストーラー コード、テスト コードなどを含むインストール可能なパッケージにあります。実際のライブラリ コードは通常、実際に解凍されたもののサブフォルダーにあります。セットアップを実行すると、ライブラリがグローバル python ライブラリにコピーされますが、これは GAE には役に立ちません。

したがって、実際の gflags ライブラリ自体を GAE プロジェクト フォルダーにコピーする必要があります。ちょっと調べてみたところ、gflags.py と gflags_validators.py を卵から GAE プロジェクト フォルダーにコピーするだけで十分だと思います。残りは不必要に見えます。

于 2013-12-09T20:00:28.723 に答える