当前位置: 首页 > news >正文

pip库版本升级

pip version 19.2.3版本为例:

[root@localhost ~]# pip3 list
Package    Version
---------- -------
pip        19.2.3
setuptools 41.2.0
WARNING: You are using pip version 19.2.3, however version 25.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
[root@localhost ~]# pip3 show pip
Name: pip
Version: 19.2.3
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: pypa-dev@groups.google.com
License: MIT
Location: /usr/local/python3/lib/python3.8/site-packages
Requires:
Required-by:

升级操作

  • 当前版本19.2.3(发布于 2019 年,较旧)。
  • 风险:旧版可能存在安全漏洞或兼容性问题(如不支持新版 PyPI 的某些功能)。
  • 升级命令
    /usr/local/python3/bin/python3 -m pip install --upgrade pip
    
    注意
    • 使用绝对路径 /usr/local/python3/bin/python3 确保升级正确的 pip。
    • 若报错,尝试先卸载旧版:
      /usr/local/python3/bin/python3 -m pip uninstall pip
      /usr/local/python3/bin/python3 -m ensurepip --upgrade
      
      • ensurepip 是 Python 的内置模块(从 Python 3.4 开始默认包含),用于保证 pip 的存在。
对比项使用 ensurepip不使用 ensurepip
pip 版本Python 版本绑定的兼容版本(可能较旧)可安装最新版
是否需要联网否(依赖 Python 内置资源)是(需从 PyPI 下载)
依赖处理自动安装 setuptools需手动处理依赖
适用环境离线环境、修复安装需要最新功能或自定义配置
安全性版本经过 Python 官方测试最新版包含安全补丁

环境变量与命令调用

1. 一般情况下无需修改 PATH

  • 如果升级前 pip 已能正常通过命令行调用(即原来的 PATH 已包含 Python 的 bin 目录,如 /usr/local/python3/bin),升级后 pip 仍会安装到同一目录下,PATH 无需变更。
  • 升级命令 python3 -m pip install --upgrade pip 会直接覆盖旧版本 pip,但安装路径不变。

2. 需要检查 PATH 的情况

  • 如果升级后 pip 命令无法识别,可能是以下原因:
    • PATH 未正确包含 Python 的 bin 目录:确保环境变量中包含 /usr/local/python3/bin
      echo $PATH | grep "/usr/local/python3/bin"
      
      如果没有,需要手动添加(例如在 ~/.bashrc~/.zshrc 中):
      export PATH="/usr/local/python3/bin:$PATH"
      source ~/.bashrc  # 使配置生效
      
    • 多版本 Python 冲突:如果系统有多个 Python 环境,可能误调用了其他版本的 pip。可以通过 which pip 检查路径是否指向预期位置。

3. 验证升级结果

  • 运行以下命令确认 pip 版本和路径:
    pip --version
    which pip
    
    输出应指向 /usr/local/python3/bin/pip,且版本为升级后的最新版。

常见问题排查

Q1: 升级 pip 时报权限错误

ERROR: Could not install packages due to an EnvironmentError: [Errno 13] Permission denied

解决

# 添加 --user 参数安装到用户目录
/usr/local/python3/bin/python3 -m pip install --upgrade pip --user
# 或使用 sudo
sudo /usr/local/python3/bin/python3 -m pip install --upgrade pip

Q2: 升级后 pip 命令失效

原因:升级过程中路径冲突。
修复

# 重新链接 pip
sudo ln -sf /usr/local/python3/bin/pip3 /usr/bin/pip3
http://www.dtcms.com/a/308394.html

相关文章:

  • vue vxe-table :edit-config=“editConfig“ 可以编辑的表格
  • Netcat终极实战指南:从端口扫描到渗透测试
  • Multimodal Fusion on Low-quality Data: A Comprehensive Survey 中文版
  • Java面试高频题目
  • 基于notepad++的sensor寄存器序列文本处理方法(以后会随时更新补充)
  • STM32F1到STM32F0的标准库移植指南--GPIO篇
  • 认知绞肉机:个体实践视域下认知暴力与元认知升维的活体实验研究
  • 如何将 Redis 监控集成到微服务整体的监控体系中( 如 Prometheus + Grafana)
  • [12月考试] E
  • 使用EasyPOI实现Java订单数据导出(含多物料信息)——模板语法详解与实战
  • Redis实战(4)-- BitMap结构与使用
  • uvicorn 启动重复加载 多次加载
  • 【LeetCode 热题 100】4. 寻找两个正序数组的中位数——(解法一)线性扫描
  • C++(模板)
  • java笔记——ConcurrentLinkedQueue
  • AUTOSAR进阶图解==>AUTOSAR_SRS_FunctionInhibitionManager
  • axios封装对比
  • 记录自己使用gitee和jenkins
  • PHP反序列化学习+解析+复现
  • 提升Windows操作效率:三款实用辅助工具功能解析​
  • 代码随想录Day35:动态规划(背包问题 二维 一维、分割等和子集)
  • Spring Boot整合MyBatis-Plus全攻略
  • 如何监控项目的每个阶段,提高执行效率
  • SchemaCrawler:一款免费开源的数据库文档工具
  • 斐波那契数
  • AI学习笔记三十三:基于Opencv的单目标跟踪
  • OpenCSG月度更新2025.7
  • leecode18 四数之和
  • 个股期权合约期内遇到标的停牌,如何处置?
  • DoRA详解:从LoRA到权重分解的进化