python -m pip install --upgrade pip 报错

具体问题

环境:

  • windows
  • python3.6

根据pip 的提示

WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

更新pip 报错

python -m pip  install --upgrade pip

错误信息

AttributeError: 'NoneType' object has no attribute 'bytes'

同时,直接用pip 去掉 python -m 后则现实 pip 已经是最新的

pip install --upgrade pip
Requirement already up-to-date: pip in d:\python\python36\lib\site-packages (20.0.2)

solution

删除这个文件夹 C:\Users\harryhare\AppData\Roaming\Python\Python36\site-packages\

解决过程记录

先是直接搜索报错

看到的第一个解决方案

easy_install -U pip
C:\>easy_install -U pip
Searching for pip
Reading https://pypi.org/simple/pip/
Downloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc
501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-
none-any.whl#sha256=4ae14a42d8adba3205ebeb38aa68cfc0b6c346e1ae2e699a0
b3bad4da19cef5c

...

Installed d:\python\python36\lib\site-packages\pip-20.0.2-py3.6.egg
Processing dependencies for pip
Finished processing dependencies for pip

虽然执行结果没问题,但是再跑一下 python -m pip install --upgrade pip 依然报一样的错

继续搜索,看到第二个:

python -m pip install -U --force-reinstall pip

这里加了 --force-reinstall 参数,然而没卵用,一样报错
继续搜,第三个

pip --default-timeout=900 install --upgrade pip

这里是怀疑网络原因造成的超市,于是手动指定了超时时间,然而依然没卵用,报一样的错

根据现象,猜测安装了冲突的版本

去c:/user下找了一下没找到目录
然后,搜索 python -m pip install 和直接用 pip install 的区别,搜到个知乎回答
提到 --version 参数

python -m pip —version 
pip --version

然后试了下,发现有输出路径

D:\>python -m pip --version
pip 19.3.1 from C:\Users\harryhare\AppData\Roaming\Python\Python36\site-packages\pip (python 3.6)

D:\>pip --version
pip 20.0.2 from D:\python\python36\lib\site-packages\pip-20.0.2-py3.6.egg\pip (python 3.6)

找到 C:\Users\harryhare\AppData\Roaming\Python\Python36\site-packages\ 发现这个路径下只有pip 一个包,重命名这个文件夹重新执行 python -m pip install --upgrade pip, 报错消失

所以,原因大概就是不知道何时 pip upgrade 的时候把包装到这个地方了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值