python -m pip install --upgrade pip 报错

本文详细记录了解决Windows环境下pip升级失败的问题,通过查找并删除冲突的pip版本,最终成功更新pip。
Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

具体问题

环境:

  • 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 的时候把包装到这个地方了

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 解决 `pip` 升级时遇到的错误 当尝试通过命令 `python -m pip install --upgrade pip setuptools wheel` 来更新 `pip` 及其相关工具时,可能会遭遇各种问题。如果再次运行 `python -m pip install --upgrade pip` 后仍然报告相同的错误,则表明存在更深层次的问题[^2]。 #### 错误分析与可能原因 常见的错误消息如 "ERROR: Command errored out with exit status 1: python setup.py egg_info" 表明在处理包的过程中出现了异常情况。这可能是由于系统中的某些依赖关系未满足或已损坏所致[^5]。 对于基于 Debian 或 Ubuntu 的 Linux 发行版,在移除 Python 软件包之后可能出现未满足的依赖项警告。此时建议先修复系统的软件包管理器状态,可以考虑执行如下命令来修正潜在的依赖冲突: ```bash sudo apt-get update && sudo apt --fix-broken install ``` 此操作有助于清理并重新安装任何破损的软件包,从而为后续的 `pip` 更新铺平道路[^3]。 #### 推荐解决方案 为了确保顺利升级 `pip` 并避免上述提到的各种问题,推荐按照以下方法进行操作: - **确认环境变量配置无误**:确保 PATH 中包含了正确的 Python 和 Scripts 文件夹路径。 - **使用虚拟环境隔离项目依赖**:创建一个新的虚拟环境来进行测试,这样可以在不影响全局环境中其他项目的前提下完成 `pip` 的安全升级。 ```bash python -m venv myenv source myenv/bin/activate # Windows 用户应改为 'myenv\Scripts\activate' ``` - **强制重装最新版本的 `pip`** ```bash python -m pip install --force-reinstall --no-cache-dir -U pip ``` 这条指令会忽略缓存的数据,并强行覆盖现有的 `pip` 安装文件,通常能有效解决大多数因残留数据引起的兼容性问题。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值