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

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.xdnf.cn/news/16845.html

相关文章:

  • Android Studio 中Revert Commit、Undo Commit 和 Drop Commit 使用场景
  • Android Studio怎么显示多排table,打开文件多行显示文件名
  • 现在有哪些广泛使用的时序数据库?
  • [免费]基于Python的招聘职位信息推荐系统(猎聘网数据分析与可视化)(Django+requests库)【论文+源码+SQL脚本】
  • [mind-elixir]Mind-Elixir 的交互增强:单击、双击与鼠标 Hover 功能实现
  • Web3.0 和 Web2.0 生态系统比较分析:差异在哪里?
  • 【Datawhale AI夏令营】科大讯飞AI大赛(大模型技术)/夏令营:让AI理解列车排期表(Task3)
  • 【python 获取邮箱验证码】模拟登录并获取163邮箱验证码,仅供学习!仅供测试!仅供交流!
  • uni-app webview的message监听不生效(uni.postmessage is not a function)
  • linux 执行sh脚本,提示$‘\r‘: command not found
  • 从一开始的网络攻防(十四):WAF绕过
  • day21-Excel文件解析
  • 【MySQL 数据库】MySQL索引特性(一)磁盘存储定位扇区InnoDB页
  • AI 代码助手在大前端项目中的协作开发模式探索
  • C++ Qt网络编程实战:跨平台TCP调试工具开发
  • 容器与虚拟机的本质差异:从资源隔离到网络存储机制
  • 2020 年 NOI 最后一题题解
  • Apple基础(Xcode②-Flutter结构解析)
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-49,(知识点:OSI模型,物理层、数据链路层、网络层)
  • 2025年湖北中级注册安全工程师报考那些事
  • 网络安全学习第16集(cdn知识点)
  • 知识速查大全:python面向对象基础
  • C++从入门到起飞之——智能指针!
  • 电子电气架构 --- 区域架构让未来汽车成为现实
  • 深入理解PostgreSQL的MVCC机制
  • SpringBoot之多环境配置全解析
  • Linux 系统日志管理与时钟同步实用指南
  • Tlias 案例-整体布局(前端)
  • cpp实现音频重采样8k->16k及16k->8k
  • 推扫式和凝视型高光谱相机分别采用哪些分光方式?