zoukankan      html  css  js  c++  java
  • ubuntu升级python后ModuleNotFoundError: No module named 'apt_pkg'异常

    ubuntu 18.04默认的python3的版本为3.6,各种原因需要升级python版本
    lozz

    升级python版本
    • 升级python

    首先更新软件包列表并安装必备组件

    sudo apt update
    sudo apt install software-properties-common
    

    添加PPA

    sudo add-apt-repository ppa:deadsnakes/ppa
    

    安装Python 3.8(以3.8版本为例)

    sudo apt install python3.8
    
    • 配置 python3.8 为系统默认 python3

    将 python 各版本添加到 update-alternatives

    ⇒  which python3.8
    /usr/bin/python3.8
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
    
    ⇒  which python3.6
    /usr/bin/python3.6
    sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
    

    配置 python3 默认指向 python3.8

    ⇒  sudo update-alternatives --config python3
    有 2 个候选项可用于替换 python3 (提供 /usr/bin/python3)。
    
      选择       路径              优先级  状态
    ------------------------------------------------------------
      0            /usr/bin/python3.6   2         自动模式
      1            /usr/bin/python3.6   2         手动模式
    * 2            /usr/bin/python3.8   1         手动模式
    
    要维持当前值[*]请按<回车键>,或者键入选择的编号:
    

    输入 2(python3.8前的序号), 回车.完成设置

    升级python版本后的异常
    • 升级完python版本后,会出现异常
    ModuleNotFoundError: No module named 'apt_pkg'
    
    解决方法
    cd /usr/lib/python3/dist-packages/
    
    • 复制
    sudo cp apt_pkg.cpython-36m-x86_64-linux-gnu.so  apt_pkg.cpython-38m-x86_64-linux-gnu.so
    
    sudo ln -s apt_pkg.cpython-38m-x86_64-linux-gnu.so apt_pkg.so
    

    如果报错,则执行下方命令,强制添加

    sudo ln -fs apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so
    
  • 相关阅读:
    racket eval
    mex不兼容
    【转】雷军 程序员随想
    UBoot 目录结构和编译过程
    远程监控web开发
    STL容器[08]
    STL容器[07]
    STL容器[17]
    STL容器[06]
    stl.map使用总结
  • 原文地址:https://www.cnblogs.com/lozz/p/14261608.html
Copyright © 2011-2022 走看看