python - 导入错误 : No module named 'requests.packages.urllib3' arises when deploying to GAE

标签 python google-app-engine python-2.7

我有一些 python 代码,我尝试在其中使用第三方模块 (tweepy):

...
import tweepy
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
...

当我在 pc 上启动它时它运行良好,但是如果我尝试将它与 google app engine 一起使用,我得到一个错误:

File "X:\courant\main.py", line 6, in <module>

    import tweepy

  File "X:\courant\lib\tweepy\__init__.py", line 14, in <module>

    from tweepy.api import API

  File "X:\courant\lib\tweepy\api.py", line 12, in <module>

    from tweepy.binder import bind_api

  File "X:\courant\lib\tweepy\binder.py", line 11, in <module>

    import requests

  File "X:\courant\lib\requests\__init__.py", line 58, in <module>

    from . import utils

  File "X:\courant\lib\requests\utils.py", line 26, in <module>

    from .compat import parse_http_list as _parse_list_header

  File "X:\courant\lib\requests\compat.py", line 42, in <module>

    from .packages.urllib3.packages.ordered_dict import OrderedDict

  File "X:\courant\lib\requests\packages\__init__.py", line 83, in load_module

    raise ImportError("No module named '%s'" % (name,))

ImportError: No module named 'requests.packages.urllib3'

Tweepy 安装在 GAE 项目的/lib 目录中,并在代码中添加了到/lib 的链接:

import site
import os.path

site.addsitedir(os.path.join(os.path.dirname(__file__), 'lib'))

urllib3 存在于 lib\requests\packages\urllib3 但我仍然收到此错误:

ImportError: No module named 'requests.packages.urllib3'

我做错了什么?我不知道..

最佳答案

更新请求到 >= v2.20.0

这不再是 requests v2.20.0 的问题,它支持 urllib3 v1.24 - 修复了这个问题。

如果像我一样,你安装了 Rasbian(或你正在使用的任何操作系统)但它没有安装最新版本的 requests run

pip install requests -U

解决问题

关于python - 导入错误 : No module named 'requests.packages.urllib3' arises when deploying to GAE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28934216/

相关文章:

python - 如何将 AppEngine 云存储备份加载到本地开发服务器?

sqlite - 使用 Web2py/Python 在 SQLite 中引用另一个表

multithreading - 如何在 python 中处理大文件?

python-2.7 - 是什么创造了 `maxent_treebank_pos_tagger/english.pickle` ?

python - 如何在 python ubuntu 中检查其他程序是否正在使用相机/麦克风

python - 谷歌应用引擎数据存储日期时间到 Python 中的日期?

python - 是否可以使用 pyinstaller 来构建带有我自己的图标的 exe?

python - 如何设置 ndb keyProperty

python - H2O 本地服务器意外死亡

python - 将单个变量从一个 python 程序传递到另一个程序