首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Requests.package.urllib3错误

Requests.package.urllib3错误
EN

Stack Overflow用户
提问于 2015-04-06 15:20:21
回答 1查看 3.7K关注 0票数 2

我是个Python新手,一直在探索这种语言。事情进展顺利,因为我确实有一个相当基本的编程背景,我可以理解总体结构。然而,最近,我想我做了什么破坏urllib3,因为我的应用程序以前是工作的,现在它失败了,我不能再通过交互式解释器导入urllib3。

以下是代码:

代码语言:javascript
复制
import json, requests, ssl

devID = "xxxx" <--xxx is included for privacy/security purposes
varName = "Current_T"
AToken = "xxx" <--xxx is included for privacy/security purposes
spark_url = "https://api.spark.io/v1/devices/%s/%s?access_token=%s" % (devID,varName,AToken)
r = requests.get(spark_url)
data = r.json()
jsonData = "result"
CurrentTemp = data[jsonData]
print("Current temp is: %i") % CurrentTemp

这是非常基本的东西,直到今天早上它才完美地运作起来。我现在收到的错误如下:

代码语言:javascript
复制
pi@raspberrypi ~/python-learning $ python ./spark-read-variable.py
Traceback (most recent call last):
  File "./spark-read-variable.py", line 1, in <module>
    import json, requests, ssl
  File "/usr/local/lib/python2.7/dist-packages/requests/__init__.py", line 58, in <module>
    from . import utils
  File "/usr/local/lib/python2.7/dist-packages/requests/utils.py", line 26, in <module>
    from .compat import parse_http_list as _parse_list_header
  File "/usr/local/lib/python2.7/dist-packages/requests/compat.py", line 42, in <module>
    from .packages.urllib3.packages.ordered_dict import OrderedDict
  File "/usr/local/lib/python2.7/dist-packages/requests/packages/__init__.py", line 95, in load_module
    raise ImportError("No module named '%s'" % (name,))
ImportError: No module named 'requests.packages.urllib3'

到目前为止,我已尝试解决以下情况,但并无解决办法:

  1. 升级请求和urllib3
  2. 删除并重新安装urllib3
  3. 重新启动树莓Pi <- -可能是个愚蠢的主意,但我还是尝试了

我能想到的唯一原因就是我试图使用pip安装stmtplib和email.utils,但都失败了。

最后一个数据点是,如果我试图通过交互式解释器导入urllib3,我会得到以下内容:

代码语言:javascript
复制
Python 2.7.3 (default, Mar 18 2014, 05:13:23)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/urllib3/__init__.py", line 10, in <module>
    from .connectionpool import (
  File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 37, in <module>
    from .request import RequestMethods
  File "/usr/local/lib/python2.7/dist-packages/urllib3/request.py", line 6, in <module>
    from .filepost import encode_multipart_formdata
  File "/usr/local/lib/python2.7/dist-packages/urllib3/filepost.py", line 8, in <module>
    from .fields import RequestField
  File "/usr/local/lib/python2.7/dist-packages/urllib3/fields.py", line 1, in <module>
    import email.utils
  File "email.py", line 1, in <module>
    import smtplib
  File "/usr/lib/python2.7/smtplib.py", line 46, in <module>
    import email.utils
ImportError: No module named utils

我有什么办法解决这个问题吗?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-06 15:27:19

看起来,您将自己的一个模块命名为email.py

这将隐藏标准库模块emailurllib3试图从该模块导入email.utils,然后失败。

将您的模块重命名为其他东西,您应该是好的。

注意事项:这方面的指示符如下:

代码语言:javascript
复制
  File "email.py", line 1, in <module>

与跟踪中的其他模块不同,这一行不包含绝对路径,而是相对路径/文件名。这表明Python从当前工作目录中获取email.py模块,而不是它的site-packages

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29474143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档