【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

相关推荐
孟健4 小时前
Karpathy 用 200 行纯 Python 从零实现 GPT:代码逐行解析
python
码路飞6 小时前
写了个 AI 聊天页面,被 5 种流式格式折腾了一整天 😭
javascript·python
曲幽8 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
chlk12312 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑12 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件13 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
敏编程13 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪13 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook13 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移