Huy*_*wer 137 python google-app-engine google-api-python-client
我在Google App Engine中遇到此错误的Python使用了Google Translate API,但我不知道如何解决,
<module>
from apiclient.discovery import build
ImportError: No module named apiclient.discovery
Run Code Online (Sandbox Code Playgroud)
我将尝试设置指示Google App Engine SDK的环境,并再次上传到Google Apps Engine,始终收到错误,
错误:服务器错误
服务器遇到错误,无法完成您的请求.如果问题仍然存在,请报告您的问题并提及此错误消息以及导致该问题的查询.
请告诉我如何解决,
谢谢
更新:修复了 遵循Nijjin的帮助,我通过添加以下文件夹修复了问题,
apiclient, gflags, httplib2, oauth2client, uritemplate
Jor*_*vis 214
您应该能够通过这个简单的安装获得这些依赖项:
sudo pip install --upgrade google-api-python-client
Run Code Online (Sandbox Code Playgroud)
Jes*_*ebb 106
apiclient是图书馆的原始名称.
在某些时候,它被切换为googleapiclient.
如果您的代码在Google App Engine上运行,则两者都应该有效.
如果您自己运行应用程序,安装了google-api-python-client,两者都应该可以正常运行.
虽然,如果我们看一下软件包模块的源代码apiclient__init__.py,我们可以看到apiclient模块只是为了向后兼容而保持不变.
保留apiclient作为googleapiclient的别名.
所以,你真的应该googleapiclient在你的代码中使用,因为apiclient别名只是为了不破坏遗留代码而被维护.
# bad
from apiclient.discovery import build
# good
from googleapiclient.discovery import build
Run Code Online (Sandbox Code Playgroud)
Nij*_*nan 10
apiclient不在appengine运行时提供的第三方库列表中:http://developers.google.com/appengine/docs/python/tools/libraries27.
你需要复制apiclient到你的项目目录和你需要复制这些uritemplate与httplib2过.
注意:文档列表中未提供的任何第三方库都必须复制到appengine项目目录中
如果以上解决方案都不适合您,请考虑您是否通过Anaconda安装了python.如果是这种情况,那么使用conda安装google API库可能会解决它.
跑:
python --version
Run Code Online (Sandbox Code Playgroud)
如果你得到类似的东西
Python 3.6.4 :: Anaconda, Inc.
Run Code Online (Sandbox Code Playgroud)
然后尝试:
conda install google-api-python-client
Run Code Online (Sandbox Code Playgroud)
正如bgoodr在评论中指出的那样,您可能需要指定渠道(思考存储库)来获取Google API库.在撰写本文时,这意味着运行命令:
conda install -c conda-forge google-api-python-client
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请访问https://anaconda.org/conda-forge/google-api-python-client
对于app引擎项目,你必须通过键入在本地安装lib
pip install -t lib google-api-python-client
Run Code Online (Sandbox Code Playgroud)
在这里阅读更多
小智 5
可以下载Google API Python客户端库,其中包含库及其所有依赖项,在项目的下载部分中命名为google-api-python-client-gae- <version> .zip.只需将其解压缩到App Engine项目中即可.
确保您只google-api-python-client安装了.如果已apiclient安装,则会导致冲突.所以,运行以下内容:
sudo pip uninstall apiclient
Run Code Online (Sandbox Code Playgroud)
我通过重新安装包解决了这个问题:
pip install --force-reinstall google-api-python-client
Run Code Online (Sandbox Code Playgroud)
小智 5
对于python3,这对我有用:
sudo pip3 install --upgrade google-api-python-client
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
137836 次 |
| 最近记录: |