【Ubuntu 20.04升级python3.9后终端打不开的bug】

  1. 把Python3.9改为Python3首选项

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

sudo update-alternatives --config python3 // 选择3.9相对应的序号

配置软件仓库

sudo add-apt-repository ppa:jonathonf/python-3.9.23

检查系统软件包并安装Python3.9

sudo apt-get update

sudo apt-get install python3.9

把Python3.9改为Python3首选项

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

sudo update-alternatives --config python3 // 选择3.9相对应的序号

测试

python3 -V

升级pip3

sudo pip3 install --upgrade pip

安装python3.9的环境

sudo apt-get install python3.9-dev

如果出现终端打不开的情况,继续按如下步骤执行

按ctrl alt f1进入命令行模式

输入gnome-terminal // 查看出现的终端错误

1)错误一:No module named "apt_pkg",解决如下

sudo apt-get remove --purge python-apt

sudo apt-get install python-apt -f

cd /usr/lib/python3/dist-packages/

sudo cp apt_pkg.cpython-38-x86_64-linux-gnu.so apt_pkg.cpython-39-x86_64-linux-gnu.so

2)错误二:ImportError: cannot import name '_gi'

cd /usr/lib/python3/dist-packages/gi/

sudo cp _gi.cpython-38-x86_64-linux-gnu.so _gi.cpython-39-x86_64-linux-gnu.so

sudo cp _gi_cairo.cpython-38-x86_64-linux-gnu.so _gi_cairo.cpython-39-x86_64-linux-gnu.so

按ctrl alt f7进入界面模式,打开终端成功

还有一种情况是cario-dock造成的,将其卸载,卸载办法

sudo apt-get purge cairo-dock cairo-dock-plug-ins && sudo apt-get autoremove

相关推荐
Rsingstarzengjx13 小时前
stm32m157 U-boot 测试
linux·运维·服务器
MarkHD13 小时前
Stable Diffusion入门第19-20天:保存与分享你的工作流——第一阶段收官,从“能用”到“可复用”
java·开发语言·stable diffusion
云水初13 小时前
【agent篇】RAG 知识库构建避坑指南
开发语言·python·学习·agent·rag
2019一路前行13 小时前
Python 函数、循环语句
开发语言·python
qxqycb14 小时前
python一键反编译工具
python
CarIise14 小时前
C语言基础课程笔记:硬件原理、数据类型、结构体与格式化输入输出详解
c语言·开发语言·笔记
weixin_BYSJ198714 小时前
springboot技能与工具共享小程序---附源码29657
java·javascript·spring boot·python·小程序·django·php
leoZ23114 小时前
Vue3 还原一个企业级后台-14-项目总结
开发语言·人工智能·后端·opencv·计算机视觉·数据挖掘·rust
ShineWinsu14 小时前
对于C++:缓冲区管理的详细解析
linux·c++·面试·编程·笔试·io·缓冲区
张小姐的猫14 小时前
【Linux】网络编程 —— 传输层协议 TCP(下)
linux·运维·服务器·网络·tcp/ip·http·php