You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何卸载所有用户安装的Python及pip版本,保留系统版并部署最新版?

安全清理用户安装的Python版本,保留系统自带版+用版本管理器装新版指南

嘿,这个问题我熟!我来帮你一步步理清怎么安全操作,既删掉自己装的Python版本,又不碰系统依赖的核心版本,之后用版本管理器安心装最新版~

第一步:先分清哪些是系统自带的,哪些是自己装的

系统自带的Python版本是系统工具(比如aptyum)的依赖,绝对不能动!先把它们和用户安装的版本区分开:

  • 先看看/usr/bin/下所有Python相关文件:
    ls -la /usr/bin/python*
    
  • 对每个版本(比如python3.9),检查它的来源:
    • Debian/Ubuntu系:用包管理器查归属
      dpkg -S /usr/bin/python3.9
      
      如果返回类似python3.9-minimal: /usr/bin/python3.9这种系统包名称,那就是系统自带的;如果提示dpkg-query: no path found matching pattern /usr/bin/python3.9,那就是你自己装的。
    • RHEL/CentOS系:用rpm查询
      rpm -qf /usr/bin/python3.9
      
      逻辑和上面一样,能查到系统包就是自带的,查不到就是用户安装的。

第二步:卸载用户自行安装的Python及关联pip

分两种安装场景处理:

场景1:源码编译安装的Python

如果你是从源码编译后用make install装的,优先用自带的卸载方式:

  • 找到当初编译Python的源码目录,执行:
    sudo make uninstall
    
    这会自动清理对应的可执行文件、库文件和pip。
  • 如果找不到源码目录了,就手动删除相关文件(替换成你要卸载的版本号,比如3.9):
    • 删除可执行文件:
      sudo rm /usr/bin/python3.9
      sudo rm /usr/bin/pip3.9
      
    • 删除对应的库文件:
      sudo rm -rf /usr/local/lib/python3.9
      
    • 删除头文件:
      sudo rm -rf /usr/local/include/python3.9
      

场景2:其他方式安装的(比如官网二进制包)

如果是用官方二进制安装包或者非包管理器方式装的:

  • 先看看安装目录里有没有uninstall脚本,有的话直接执行它(记得加sudo)。
  • 如果没有卸载脚本,同样参考上面的手动删除步骤,把对应版本的可执行文件、pip、库文件都删掉就行,注意别碰系统自带的路径。

第三步:验证系统自带版本是否完好

删完之后一定要确认系统自带的Python还能正常工作,不然系统工具可能会罢工:

  • 检查系统Python版本:
    python2 --version  # 老系统可能有这个
    python3 --version
    
  • 检查系统pip:
    pip2 --version
    pip3 --version
    
  • 跑一下系统关键工具验证,比如Ubuntu/Debian下执行sudo apt update,CentOS/RHEL下执行sudo yum update,能正常运行就说明没碰坏系统版本。

第四步:用版本管理器安装最新Python2和Python3

推荐用pyenv,它完全独立于系统Python,不会干扰系统依赖,非常安全:

1. 安装pyenv依赖

根据你的发行版安装必要的编译依赖(以Ubuntu为例):

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

2. 安装pyenv

把pyenv克隆到用户目录下(不会影响系统全局):

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

3. 配置环境变量

打开你的shell配置文件(比如~/.bashrc~/.zshrc),添加以下内容:

export PYENV_ROOT="$HOME/.pyenv"
command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

然后重新加载配置:

source ~/.bashrc  # 如果你用的是bash,zsh就换成~/.zshrc

4. 安装最新Python版本

  • 查看可用的Python版本:
    pyenv install --list
    
  • 安装最新的Python3(比如3.11.5,替换成你看到的最新版):
    pyenv install 3.11.5
    
  • 安装Python2的最后一个稳定版(2.7.18,因为Python2已经停止维护了):
    pyenv install 2.7.18
    

5. 设置默认版本

把刚装的版本设为全局默认,这样终端里直接打python就是最新Python3,python2就是2.7.18:

pyenv global 3.11.5 2.7.18

6. 验证安装

python --version
python2 --version
pip --version
pip2 --version

看到对应的版本号就说明安装成功啦!

内容的提问来源于stack exchange,提问作者Indu Pillai

火山引擎 最新活动