【发布时间】:2016-01-04 08:30:00
【问题描述】:
操作系统:Mac OS X。当我尝试运行以下代码时,出现错误:
ImportError: 无法导入名称 HeaderParsingError
我在代码下方附加了回溯。
我已尝试使用 Google 和其他 stackoverflow 解决此问题 20 分钟。我试过跑步:
pip install urllib3 --upgrade
我也尝试过重新安装 requests 包。
它没有帮助。
这似乎是我的请求或 urllib3 包的问题。有没有人遇到过类似的问题?
代码:
import requests
import json
def printResponse(r):
print '{} {}\n'.format(json.dumps(r.json(), sort_keys=True, indent=4, separators=(',', ': ')), r)
r = requests.get('http://wikitest.orcsoftware.com/rest/api/content',
params={'title': 'new page'},
auth=('seb', '****'))
printResponse(r)
parentPage = r.json()['results'][0]
pageData = {'type': 'comment', 'container': parentPage,
'body': {'storage': {'value': "<p>A new comment</p>", 'representation': 'storage'}}}
r = requests.post('http://localhost:8080/confluence/rest/api/content',
data=json.dumps(pageData),
auth=('admin', 'admin'),
headers=({'Content-Type': 'application/json'}))
printResponse(r)
这是回溯:
Traceback (most recent call last):
File "/Users/sebastian/OneDrive/orc/restAPI/createSpace.py", line 1, in <module>
import requests
File "/Library/Python/2.7/site-packages/requests/__init__.py", line 61, in <module>
from . import utils
File "/Library/Python/2.7/site-packages/requests/utils.py", line 25, in <module>
from .compat import parse_http_list as _parse_list_header
File "/Library/Python/2.7/site-packages/requests/compat.py", ine 7, in <module>
from .packages import charade as chardet
File "/Library/Python/2.7/site-packages/requests/packages/__init__.py", line 3, in <module>
from . import urllib3
File "/Library/Python/2.7/site-packages/requests/packages/urllib3/__init__.py", line 16, in <module>
from .connectionpool import (
File "/Library/Python/2.7/site-packages/requests/packages/urllib3/connectionpool.py", line 33, in <module>
from .connection import (
File "/Library/Python/2.7/site-packages/requests/packages/urllib3/connection.py", line 41, in <module>
from .util import (
File "/Library/Python/2.7/site-packages/requests/packages/urllib3/util/__init__.py", line 4, in <module>
from .response import is_fp_closed
File "/Library/Python/2.7/site-packages/requests/packages/urllib3/util/response.py", line 3, in <module>
from ..exceptions import HeaderParsingError
ImportError: cannot import name HeaderParsingError
【问题讨论】:
-
请格式化您的代码。
-
@salmanwahed,不确定您的意思。我以推荐的方式包含了代码。选项卡有问题吗?它适用于我的 IDE (pyCharm)。
-
是代码中的缩进问题。
-
不确定您是如何进入这种状态的,但您需要重新安装
requests本身;它在requests/packages目录中包括urllib3的一个版本。requests/packages/urllib3/exceptions.py是这里问题的原因。 -
@MartijnPieters,谢谢,会试试的。
标签: python python-2.7 python-requests urllib3