ubuntu 终端无法启动:ImportError: cannot import name 'sysconfig' from 'distutils'

gnome-terminal 出错 ImportError: cannot import name '_gi'

系统:ubuntu17

装了python2.7.13, 之后陆续装了python3.5.3, python3.6.1

本来默认的python版本是2.7, 改为3.6后, 就出现gnome-terminal用不了的问题:

 

$ gnome-terminal
Traceback (most recent call last):
  File "/usr/bin/gnome-terminal", line 9, in <module>
    from gi.repository import GLib, Gio
  File "/usr/lib/python3/dist-packages/gi/__init__.py", line 42, in <module>
    from . import _gi
ImportError: cannot import name '_gi'
$ ls /usr/lib/python3/dist-packages/gi/
_constants.py                              _gobject     overrides           _signalhelper.py
docstring.py                               importer.py  _propertyhelper.py  types.py
_error.py                                  __init__.py  __pycache__
_gi_cairo.cpython-35m-x86_64-linux-gnu.so  module.py    pygtkcompat.py
_gi.cpython-35m-x86_64-linux-gnu.so        _option.py   repository
$ sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
$ sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-36m-x86_64-linux-gnu.so

OK, 问题解决
 

(1)当终端不能用的时候我们又要命令行怎么办?

         解决办法:按Ctrl+Alt+F1,这样就可以从图形界面切换到命令行模式。

       (2)当你按照我上面提到的文章中的

$ sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
      这一句的时候会出现错误提示

_gi.cpython-35m-x86_64-linux-gnu.so

       没有这个文件,但是你用ls命令确实可以看到这个文件,这是为什么呢?

其实是你复制的地方不对,你是在主目录下复制的,主目录下当然没有这个文件了。你应该先跳到要复制的文件所在的文件夹中才可以。命令如下:

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

你先跳到这个文件夹下后再执行这两句命令就可以了

$ sudo cp _gi.cpython-35m-x86_64-linux-gnu.so _gi.cpython-36m-x86_64-linux-gnu.so
$ sudo cp _gi_cairo.cpython-35m-x86_64-linux-gnu.so _gi_cairo.cpython-36m-x86_64-linux-gnu.so
(3)系统怎么从命令模式切换到图形界面?

Ctrl+Alt+F7,就可以了。
---------------------
作者:Threeyearsago
来源:CSDN
原文:https://blog.csdn.net/Threeyearsago/article/details/80276579
版权声明:本文为博主原创文章,转载请附上博文链接!

 
原文地址:https://www.cnblogs.com/sddai/p/10190643.html