安装python3.8后,Ubuntu无法打开终端gnome-terminal的解决方法整理版(importerror _gi)

2023-05-16

在更新了python3.8后,发现Ubuntu上的gnome-terminal无法用快捷ctrl+alt+T打开了,右键点击也是一直转圈啥反应都没有.
只剩下桌面右键点击,选择终端这一个途径.
到了发现原因竟然是在将python3重定向为python3.8
即建立软链接后

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

发生了问题
大家可以在xterm或其他可用终端输入gnome-terminal
听说可以按Ctrl+Alt+F1来进入命令模式
发生类似importerror的错误
错误显示无法导入_gi模块
折腾了一晚上我从网上找到几种解决方法,整理了一下在这里分享给大家.
第一种:修改文件

进入python3相应目录,看看里面的_gi_cairo.cpython-35m-x86_64-linux-g文件和_gi.cpython-35m-x86_64-linux-gnu.so文件需要重命名或复制一份为:_gi_cairo.cpython-36m-x86_64-linux-g和_gi.cpython-36m-x86_64-linux-gnu.so

cd /usr/lib/python3/dist-packages/gi/
sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-38m-x86_64-linux-gnu.so
sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-38m-x86_64-linux-gnu.so

这种方法,我试了一下没有解决问题.

第二种方法:修改gnome-terminal文件
就是将/usr/bin/gnome-terminal
修改其中的第一行

sudo vim /usr/bin/gnome-terminal

第一行: #!/usr/bin/python2 将3改为2:
#!/usr/bin/python3
我就是用这种方法解决的,也有人说这里改为python3.6
我是了也可以
第三种方法退而求其次

如果以上方法都不行的话就只能重新将python3指回python3.6了.

sudo rm /usr/bin/python3
sudo ln -s python3.6 /usr/bin/python3


或者尝试一下以下指令

sudo update-alternatives --config python3

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装python3.8后,Ubuntu无法打开终端gnome-terminal的解决方法整理版(importerror _gi) 的相关文章

  • 如何清除整个终端(PowerShell)

    我有一个问题 在powershell中使用clear或cls命令仅清除终端的可见部分 我想知道如何清除整个终端 顺便说一句 我使用 VSCode tl dr 问题是关于清零的both屏幕和回滚缓冲区 in the 综合终端 of 视觉工作室
  • 在 Ubuntu 上纯粹通过 bash 脚本安装 mysql 5.7

    我想要一个无需任何手动输入即可安装 MySQL 5 7 实例的 bash 脚本 我正在关注数字海洋教程 https www digitalocean com community tutorials how to install mysql
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 在 Mac 上使用 JRE 打开 jar 文件

    我有一个 jar 文件 旨在通过命令行运行 我不打算在运行应用程序的机器上进行任何java开发 我的思考过程是 因此我应该只需要JRE而不是JDK 此外 JDK 大约是 JRE 的 4 倍 我不想下载它 在 Mac 上安装 JRE 时 它不
  • 如何检测来自 QNX 中 ncurses 的屏幕调整大小事件?

    我无法配置为接收有关使用 ncurses QNX Momentics 更改终端大小的事件 我使用Putyy作为终端 通过COM端口传输数据 我的问题是如何实现使用远程终端时接收屏幕变化事件 FILE fcons fopen dev ser1
  • 错误:NVIDIA-SMI 失败,因为无法与 NVIDIA 驱动程序通信

    NVIDIA SMI 抛出此错误 NVIDIA SMI 失败 因为无法与 NVIDIA 通信 司机 确保安装了最新的 NVIDIA 驱动程序并且 跑步 我清除了 NVIDIA 并按照提到的步骤重新安装了它here https askubun
  • 如何在 Linux 主机上的 docker 容器中挂载目录 [重复]

    这个问题在这里已经有答案了 我想将一个目录从 docker 容器挂载到本地文件系统 该目录是网站根目录 我需要能够使用任何编辑器在本地计算机上编辑它 我知道我可以跑docker run v local path container path
  • saber sd 如何在没有 SPL 的情况下直接从 uboot 启动

    sabre sd 基于 imx 6 最大内部 RAM 约为 150Kb 然而 uboot 足够大 可以容纳在这个空间中 在这个场景中事情是如何进行的 https community freescale com docs DOC 95015
  • Docker 中的 Airflow:如何将 DAG 添加到 Airflow?

    我想将 DAG 文件添加到 Airflow 它在 Ubuntu 上的 Docker 中运行 我用了以下git 存储库 https github com puckel docker airflow 包含配置和 docker 镜像的链接 当我跑
  • 为 Qt 应用程序创建 Linux 安装

    我刚刚用 Qt Creator 制作了一个很棒的程序 我对自己很满意 如何将其从台式机移至笔记本电脑 那么 最好的方法是安装程序 对吗 对于 Ubuntu 这是一个 Debian 软件包 对吗 我怎么做 有人这样做过吗 他们可以分享 QT
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • 无法在 Google Cloud Run 上部署 Ubuntu 20.04 Docker 容器

    我正在尝试通过 Google Cloud Run 部署一个基于 Ubuntu 20 04 的简单的基于 Python 的 Docker 容器 我已经成功构建了映像 但是当我尝试部署 Cloud Run 服务时 出现以下错误 省略了项目详细信
  • 生成一个新终端并写入其标准输出

    我有一个应用程序 它使用 GUI 来完成与用户的大部分界面 不过 我想要一个单独的终端窗口 我可以写入一些错误检查 原始值等 我知道我可以使用以下命令生成一个新终端system 命令 但我不知道是否可以进行交互 在最好的情况下 我希望有一个
  • Apache 反向代理的基本身份验证问题

    我想为在 Ubuntu 服务器 12 04 1 上运行的 Apache 反向代理站点添加基本身份验证 网络应用程序是Jenkins http jenkins ci org运行在 Java EE 容器上 我在中添加了以下配置httpd con
  • Ubuntu 12.04 上的 DeepDive 安装指南

    在拥有以后很多问题 https stackoverflow com questions 22469188 deepdive installation postgresql error安装深潜项目 http deepdive stanford
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 如何将环境变量 PACKAGE_DIRS 链接到我的本地私有包?

    我正在尝试设置一个环境变量 以便当我正在处理 Meteor 应用程序时 并且我想将本地私有包链接到我的项目 Meteor 将查找我在本地环境中创建的包目录 我做的第一件事是创建一个包目录并向其中添加一个基本的测试包 Users scotty
  • 在 Ubuntu 中执行 .cgi 文件

    我在 Ubuntu 下运行 Apache PHP 当我运行 cgi 文件时 通过http localhost mycgi cgi 浏览器将显示代码而不是运行它 如何让浏览器执行 CGI 文件而不是显示其内容 将这些行添加到您的 apache
  • .profile 无法从 Mac 终端运行

    我有一个 profile 文件 我正在终端中读取并使用别名 但在某些时候 别名由于没有明确的原因而停止工作 其他命令仍在工作 为了快速修复 我删除了 rm 并在用户目录中重新创建了 profile 文件 我可以看到 至少在该目录中没有 ba

随机推荐

  • JAVA中枚举如何保证线程安全

    枚举类型到底是什么类呢 xff1f 是enum吗 xff1f 明显不是 xff0c enum就和class一样 xff0c 只是一个关键字 xff0c 他并不是一个类 xff0c 那么枚举是由什么类维护的呢 xff0c 首先写一个简单的枚举
  • Activity的启动流程

    总的流程图 xff1a 1 进程A与AMS的交互过程 此处以跨进程启动Activity分析一下源码流程 xff1a A调用startActivity时 xff0c 需要与AMS交互 xff0c 此时需要需要获取到AMS的代理对象Binder
  • Handler同步屏障

    一 消息机制之同步屏障 消息机制的同步屏障 xff0c 其实就是阻碍同步消息 xff0c 只让异步消息通过 而开启同步屏障的方法就是调用下面的方法 xff1a MessageQueue postSyncBarrier 源码如下 xff1a
  • view的绘制流程

    一 view树的绘制流程 measure gt layout gt draw measure 1 ViewGroup LayoutParams 指定部件的长宽 2 MeasureSpec 32位的int值 前两位代表模式 后30位测量规格的
  • Thread.join()

    3 1 用法 下源码里对这个方法的描述 Thread java Waits for this thread to die lt p gt An invocation of this method behaves in exactly the
  • android 源码编译 模拟器emulator启动

    Android源代码编译成功之后 xff0c 我们就可以运行它了 为了方便起见 xff0c 我们使用Android模拟器emulator来运行编译出来的Android源代码 执行以下命令来启动Android模拟器 xff1a USER 64
  • Android 源码 (AOSP) - 编译 ( 模拟器 )

    启动模拟器 emulator command not found 错误 你肯定是在没有导入环境的窗口执行 emulator 了 bash emulator command not found 这里要先导入环境 如下 build envset
  • android模拟器

    模拟器运行需要四个文件 xff0c 分别是 xff1a Linux Kernelsystem imguserdata imgramdisk img 上面我 lunch 命令时选择的是 aosp x86 eng xff0c 因此 linux
  • mac 7z命令

    压缩文件 xff1a 7z a Mina3 7z Mina3 mp4 查看压缩后的文件 xff1a 7z t Mina3 7z 解压 7z文件 xff1a 7z x Mina3 7z 解压时换个目录
  • nRF51822:Keil下载程序报错(Erro;Flash Download failed - "Cortex-M0")

    问题描述 今天在用keil软件下载程序时遇到这个问题 比较奇怪的是我下载之前的其他工程都没有问题 xff0c 可以正常 xff0c 重新开的以前的另一个样例工程下载测试就出现了这个问题 原因分析与解决办法 1 找攻略 在查看了J Link配
  • Linux远程桌面连接,Xmanager 5实现远程调用CentOS7图形化界面

    先说效果 xff0c 可以实现 在 Centos7 6 上的远程桌面操作 流畅度和Windows远程桌面差不多 背景 xff1a 大家都知道Centos的图形化比较鸡肋 xff0c 为什么要弄图形化呢 xff1f 在虚拟机管控里 xff0c
  • Mac电脑上没有允许任何来源选项的解决方法

    Mac电脑的安全设置没有允许任何来源的选项怎么办 xff1f 1 在终端输入下方的命令 xff0c 按回车 xff1a sudo spctl master disable 2 输入系统密码 输入密码时候 xff08 输入过程中看不到输入的密
  • MAC编译Android源码 prebuilts/misc/darwin-x86/bison/bison出错

    错误提示 xff1a 0 438 72411 external one true awk awk yacc awkgram y FAILED out soong intermediates external one true awk awk
  • VMware Tools安装方法及共享文件夹设置方法

    正确安装好VMware Tools后 xff0c 可以实现主机与虚拟机之间的文件共享 xff0c 可以设置共享文件夹 xff0c 以及在主机与虚拟机之间直接进行复制黏贴的操作 安装方法 xff1a 选择 34 虚拟机 34 gt 34 重新
  • repo init 失败

    root 64 68b3ebd4a7ab aosp python3 bin repo init u https aosp tuna tsinghua edu cn platform manifest b android 9 0 0 r40
  • 修改ubuntu的sources.list源

    1 首先备份源列表 首先备份源列表 sudo cp etc apt sources list etc apt sources list backup 2 而后打开sources list文件修改 sudo vim etc apt sourc
  • Ubuntu16.04安装Python3.7并设置为默认版本

    1 安装编译环境 sudo apt get install zlib1g dev libbz2 dev libssl dev libncurses5 dev libsqlite3 dev libreadline dev tk dev lib
  • python 3.5 3.7-ubuntu16.04升级Python3.5到Python3.7的方法步骤

    ubuntu16 04自带python有两个版本 xff0c 一个2版本 xff0c 使用的是python xff1b 另一个是3版本 xff0c 使用的是python3 简易安装python后得到的3版本的版本号是python3 5 可以
  • Ubuntu无法使用终端解决方法

    最近在尝试使用Ubuntu xff0c 并遇到了一个坑 我安装的是Ubuntu16 04LTS xff0c 其内置了Python2 7 xff0c 但我想要使用Python3 所以就安装了自带的Python3软件包 xff0c 结果发现版本
  • 安装python3.8后,Ubuntu无法打开终端gnome-terminal的解决方法整理版(importerror _gi)

    在更新了python3 8后 发现Ubuntu上的gnome terminal无法用快捷ctrl 43 alt 43 T打开了 右键点击也是一直转圈啥反应都没有 只剩下桌面右键点击 选择终端这一个途径 到了发现原因竟然是在将python3重