我们收到错误:
ImportError:没有名为OAuth2Client的模块
我们已经注意到围绕此主题的大量问题,许多未回答以及至少一个答案描述了从Google App Engine SDK复制文件的解决方案。
然而,这种方法似乎很乏味,因为所有的依赖关系都不清楚。如果我们复制oauth2client
然后运行,则下一个错误是另一个缺失的模块。修复,然后缺少另一个模块等,等等。
具有讽刺意味的是,我们可以在PyCharm中查看Google App Engine SDK中列出的所有文件和模块,但它们似乎无法访问。
有没有更好的方法来提取oauth2client
需要Python在App Engine上工作的所有文件?
答案 0 :(得分:28)
我遇到此问题,并通过oauth2client
安装pip3
来解决:
pip3 install --upgrade oauth2client
答案 1 :(得分:9)
按照google-api-python
documentation的方法尝试
pip install --upgrade google-api-python-client oauth2client
答案 2 :(得分:5)
答案是"供应商"在文件中。
我们根据此文档https://cloud.google.com/appengine/docs/python/tools/libraries27#vendoring找到了解决此问题的快捷方法 这SO answer。
创建一个名为" lib "的新文件夹。与app.yaml文件位于同一文件夹中。 (您可以将其他名称命名为。只需在下面使用该名称。)
在与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
导入错误将消失,您将拥有所有子依赖模块。
答案 3 :(得分:0)
安装WHL file
pip install oauth2client-4.1.3-py2.py3-none-any.whl
答案 4 :(得分:0)
Run this
sudo python -m pip install oauth2client