使用pip install时报错TypeError: unsupported operand type(s) for -=: ‘Retry’ and ‘int’的解决办法

使用pip install时出现报错TypeError: unsupported operand type(s) for -=: ‘Retry’ and ‘int’的解决办法

今天使用pip install 安装python库的时候出现了这样的报错

root@Conners:~# pip install flask_admin

Collecting flask_admin

Exception:

Traceback (most recent call last):

File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main

status = self.run(options, args)

File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 353, in run

wb.build(autobuilding=True)

File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 749, in build

self.requirement_set.prepare_files(self.finder)

File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 380, in prepare_files

ignore_dependencies=self.ignore_dependencies))

File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 554, in _prepare_file

require_hashes

File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 278, in populate_link

self.link = finder.find_requirement(self, upgrade)

File "/usr/lib/python2.7/dist-packages/pip/index.py", line 465, in find_requirement

all_candidates = self.find_all_candidates(req.name)

File "/usr/lib/python2.7/dist-packages/pip/index.py", line 423, in find_all_candidates

for page in self._get_pages(url_locations, project_name):

File "/usr/lib/python2.7/dist-packages/pip/index.py", line 568, in _get_pages

page = self._get_page(location)

File "/usr/lib/python2.7/dist-packages/pip/index.py", line 683, in _get_page

return HTMLPage.get_page(link, session=self.session)

File "/usr/lib/python2.7/dist-packages/pip/index.py", line 792, in get_page

"Cache-Control": "max-age=600",

File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 501, in get

return self.request('GET', url, **kwargs)

File "/usr/lib/python2.7/dist-packages/pip/download.py", line 386, in request

return super(PipSession, self).request(method, url, *args, **kwargs)

File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 488, in request

resp = self.send(prep, **send_kwargs)

File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 609, in send

r = adapter.send(request, **kwargs)

File "/usr/share/python-wheels/CacheControl-0.11.7-py2.py3-none-any.whl/cachecontrol/adapter.py", line 47, in send

resp = super(CacheControlAdapter, self).send(request, **kw)

File "/usr/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 423, in send

timeout=timeout

File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 643, in urlopen

_stacktrace=sys.exc_info()[2])

File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 315, in increment

total -= 1

TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

搜索一番后,github和sof上老哥给出的结论是这是python2.7版本pip模块的一个bug,升级pip就可以解决了。看了一下我的pip版本

root@Conners:~# pip -V

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

解决方式

我的用户已经是root了, 你们如果用的非root用户请加上sudo

apt-get remove python-pip python3-pip

wget https://bootstrap.pypa.io/get-pip.py

python get-pip.py

python3 get-pip.py

运行get-pip脚本的时候可能会报错error101,那是因为https://pypi.org/这个网站国内是上不去的,要想顺利运行还是需要科学上网的。没办法科学上网的朋友还请自己搜索如何安装pip

说到代理,我要说一下另外一种可能原因

另外我看到的还有一种可能性就是代理也会造成这种报错,这种我试过,但我的不是。查看自己的报错是不是代理造成的,可以通过

root@Conners:env | grep proxy

查看本机代理,代理造成的报错关掉代理或者在pip命令中带上–proxy参数让pip不走代理就好了,先试试是不是代理问题,如果不是代理问题还是按照我之前说的来吧

版权所有 未经授权不得转载
球盖网 » 使用pip install时报错TypeError: unsupported operand type(s) for -=: ‘Retry’ and ‘int’的解决办法

发表评论

提供最优质的资源集合

关于本站 联系我们