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
    
  • 相关阅读:
    HDU 1863 畅通工程(并查集)
    HDU 1232 畅通工程
    洛谷 1162 填涂颜色 (dfs,染色法)
    HDU 2689 sort it(树状数组 逆序数)
    mod_js.so下载 转自网络
    The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
    B计划 第七周
    B计划 第六周
    B计划 第五周
    B计划 第四周(开学第一周)
  • 原文地址:https://www.cnblogs.com/lozz/p/14261608.html
Copyright © 2011-2022 走看看