Pra*_*les 15 python google-app-engine oauth-2.0
我们收到一个错误:
ImportError:没有名为OAuth2Client的模块
我们已经注意到围绕此主题的大量问题,许多问题尚未得到解答,并且至少有一个答案描述了从Google App Engine SDK复制文件的解决方案.
然而,这种方法似乎很乏味,因为所有的依赖关系都不清楚.如果我们复制oauth2client然后运行,则下一个错误是另一个缺少的模块.修复,然后另一个模块丢失,等等.
具有讽刺意味的是,我们可以在PyCharm中查看Google App Engine SDK中列出的所有所需文件和模块,但它们似乎无法访问脚本.
有没有更好的方法来提取oauth2clientPython在App Engine上工作所需的所有文件?
Sad*_*han 40
我有这个问题,并通过安装解决oauth2client用pip3:
pip3 install --upgrade oauth2client
Run Code Online (Sandbox Code Playgroud)
Sum*_*ran 17
根据google-api-python 文档,尝试这个
pip install --upgrade google-api-python-client oauth2client
Run Code Online (Sandbox Code Playgroud)
答案是文件中的“供应商”。
我们根据此文档https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring 和此SO答案找到了解决此问题的快速方法。
在与app.yaml文件相同的文件夹中创建一个名为“ lib ” 的新文件夹。(您可以命名其他名称。只需在下面使用该名称即可。)
在与app.yaml文件相同的文件夹中创建一个名为appengine_config.py的空文件
在该appengine_config.py文件中添加两行:
from google.appengine.ext import vendor
vendor.add('lib')
在终端上,导航到包含该文件的目录,然后执行以下命令:
sudo pip install -t lib google-api-python-client
导入错误将消失,您还将拥有所有从属模块。