166

Google App Engine の Python have used Google Translate API でこのエラーが発生しましたが、修正方法がわかりません。

<module>
from apiclient.discovery import build
ImportError: No module named apiclient.discovery

Google App Engine SDK に指示する環境を設定してみます.そして、再度 Google Apps Engine にアップロードすると、常にエラーが発生します.

エラー: サーバー エラー

サーバーでエラーが発生したため、リクエストを完了できませんでした。問題が解決しない場合は、問題を報告し、このエラー メッセージとその原因となったクエリをお知らせください。

直し方を教えてください、

ありがとう

UPDATE : Nijjin のヘルプに従い、次のフォルダーを追加して問題を修正しました。

apiclient, gflags, httplib2, oauth2client, uritemplate

それでも問題が解決しない場合は、このページの以下の回答を検討して詳細を確認してください。元。: ヴァラムアンサーなど...

4

20 に答える 20

145

apiclient図書館の元の名前です。
ある時点で、 に切り替えられましたgoogleapiclient

コードが Google App Engine で実行されている場合は、両方とも機能するはずです。

google-api-python-client をインストールして自分でアプリケーションを実行している場合は、両方とも同様に機能するはずです。

ただし、パッケージのmoduleのソース コードをapiclient__init__.py見ると、apiclientモジュールが単に後方互換性のために保持されていることがわかります。

apiclient を googleapiclient のエイリアスとして保持します。

したがって、エイリアスはレガシーコードを壊さないように維持されているだけなので、実際にはgoogleapiclientコードで使用する必要があります。apiclient

# bad
from apiclient.discovery import build

# good
from googleapiclient.discovery import build
于 2015-06-12T20:24:49.067 に答える
10

apiclientappengine ランタイムによって提供されるサードパーティ ライブラリのリストにありません: http://developers.google.com/appengine/docs/python/tools/libraries27

apiclientプロジェクトディレクトリにコピーする必要があり、これらもコピーする必要がありuritemplateますhttplib2

注: ドキュメント リストに記載されていないサードパーティ ライブラリは、appengine プロジェクト ディレクトリにコピーする必要があります。

于 2013-08-16T07:53:12.300 に答える
7

google-api-python-clientインストールしただけであることを確認してください。取り付けてapiclientいると衝突の原因になります。したがって、次を実行します。

sudo pip uninstall apiclient
于 2015-09-16T17:41:27.233 に答える
6

アプリ エンジン プロジェクトの場合は、次のように入力して lib をローカルにインストールする必要があります

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

ここでもっと読む

于 2015-12-24T20:22:45.293 に答える
5

ライブラリとそのすべての依存関係を含む Google API Python クライアント ライブラリのダウンロードがあり、プロジェクトのダウンロード セクションにgoogle-api-python-client-gae-<version>.zip のような名前が付けられています。これを App Engine プロジェクトに解凍するだけです。

于 2013-08-16T11:42:40.790 に答える
5

python3の場合、これは私にとってはうまくいきました:

sudo pip3 install --upgrade google-api-python-client
于 2018-08-26T04:36:39.727 に答える
5

次のようにパッケージを再インストールすることで問題を解決しました。

pip install --force-reinstall google-api-python-client
于 2015-11-27T20:26:35.683 に答える
4

URITemplate モジュールのインストールのバグが原因で、同じ問題が発生しました。

これで問題は解決しました:

pip install --force-reinstall uritemplate.py
于 2015-07-29T18:27:37.300 に答える
1

同じ問題が発生しました。これはうまくいきました:

>>> import pkg_resources
>>> pkg_resources.require("google-api-python-client")
[google-api-python-client 1.5.3 (c:\python27), uritemplate 0.6 (c:\python27\lib\site-packages\uritemplate-0.6-py2.7.egg), six 1.10.0 (c:\python27\lib\site-packages\six-1.10.0-py2.7.egg), oauth2client 3.0.0 (c:\python27\lib\site-packages\oauth2client-3.0.0-py2.7.egg), httplib2 0.9.2 (c:\python27\lib\site-packages\httplib2-0.9.2-py2.7.egg), simplejson 3.8.2 (c:\python27\lib\site-packages\simplejson-3.8.2-py2.7-win32.egg), six 1.10.0 (c:\python27\lib\site-packages\six-1.10.0-py2.7.egg), rsa 3.4.2 (c:\python27\lib\site-packages\rsa-3.4.2-py2.7.egg), pyasn1-modules 0.0.8 (c:\python27\lib\site-packages\pyasn1_modules-0.0.8-py2.7.egg), pyasn1 0.1.9 (c:\python27\lib\site-packages\pyasn1-0.1.9-py2.7.egg)]

>>> from apiclient.discovery import build
>>> 
于 2016-10-04T20:41:15.223 に答える
1

sudoを使用した場合にのみ機能しました:

sudo pip install --upgrade google-api-python-client
于 2017-09-25T16:46:49.083 に答える
0

これは、IDE のインタープリターが間違った仮想環境を指している場合にも発生する可能性があります。VSCODE では、正しいインタープリターに手動で設定しましたが、問題は解決しました。

于 2021-02-18T07:07:05.793 に答える
0

これを使って

pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
于 2020-04-21T14:05:33.417 に答える