You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Pro 20.04 LTS启用自动更新后Python代码全部失效,求停止Python自动更新及修复方案

Ubuntu Pro 20.04 LTS启用自动更新后Python代码全部失效,求停止Python自动更新及修复方案

老哥我太懂这种被自动更新坑到心态崩的感觉了!你遇到的问题大概率是ESM Apps更新把Python核心依赖(比如numpy)更到了和你的Python 3.8不兼容的版本,导致循环导入报错。下面分两步给你解决:

一、停止Python相关自动更新的方法

既然已经禁用了esm-apps,接下来要把关键的Python包锁定,防止系统后续自动更新它们:

  • 用apt-mark hold命令锁定Python 3.8及核心依赖包,按需补充你常用的库:
    sudo apt-mark hold python3.8 python3.8-minimal python3.8-dev python3-numpy python3-pandas
    
  • 彻底确认ESM Apps源已关闭,更新源列表确保生效:
    sudo pro disable esm-apps
    sudo apt update
    
  • 如果是用pip安装的第三方包,建议生成固定版本的依赖文件(pip freeze > requirements.txt),后续安装时指定版本,避免意外更新。

二、修复当前Python环境的方案

你之前恢复旧site-packages没用,大概率是系统级的Python核心文件已经被更新,或者缓存残留导致的。试试这些步骤:

  1. 彻底清理Python缓存:
    不光要清site-packages的.pyc文件,还要清理系统级缓存和pip缓存:
    sudo find /usr/lib/python3.8 -name "*.pyc" -delete
    sudo rm -rf ~/.cache/pip/
    
  2. 重新安装系统级Python及核心依赖:
    先临时解除锁定(如果刚才执行过hold),再从20.04官方源重新安装:
    sudo apt-mark unhold python3.8 python3.8-minimal python3.8-dev python3-numpy python3-pandas
    sudo apt install --reinstall python3.8 python3.8-minimal python3.8-dev
    sudo apt install --reinstall python3-numpy python3-pandas
    
  3. 虚拟环境重建(如果用了的话):
    虚拟环境可能继承了系统更新后的依赖问题,直接重建最稳妥:
    # 假设你的虚拟环境目录名为myenv,先删除旧环境
    rm -rf myenv
    # 用Python3.8重新创建虚拟环境
    python3.8 -m venv myenv
    # 激活后重新安装依赖
    source myenv/bin/activate
    pip install -r requirements.txt
    
  4. 重新锁定包:
    修复完成后,再次锁定这些包,防止下次更新踩坑:
    sudo apt-mark hold python3.8 python3.8-minimal python3.8-dev python3-numpy python3-pandas
    

备注:内容来源于stack exchange,提问作者Loggy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 11:43:13