北野坂備忘録

主にインストールやプログラミングのメモを載せています。

python3.5をpython3のデフォルト設定にしたらUbuntuで「端末」が起動しなくなった件

 ぐへえ、という感じ。

 Ubuntu15.04で、apt-getでpython3.5をインストールしたのち、python3.5をpython3のデフォルトに設定しました。

cd /usr/bin
sudo rm python3
sudo ln -s python3.5 python3

 再起動したら「端末」が起動しない!?
 Launcherを押しても、アプリケーションから呼び出しても、ショートカットを押しても起動しない。
 慌てず騒がず Ctrl+Alt+F1キー でコンソールモードに移行してターミナルを起動。
 何が起きているのか追いかけていきます。

DISPLAY=:0.0 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'

 は? と思って/usr/bin/gnome-terminalを見に行ったら一行目が

#!/usr/bin/python3

 お前python3のスクリプトなんかい!
 だいたいオチが見えてきたので、python3のデフォルトをpython3.4に戻します。

cd /usr/bin
sudo rm python3
sudo ln -s python3.4 python3

 再起動したら「端末」が起動するようになりました。
 一連のスクリプトがPython3.4用に作られていて、Python3.5では動かないものと思われます。UbuntuでPython3がこんなにシステムに密着しているとは思いませんでした。

 調べてみたらaskubuntuに同じネタが載ってた。
terminal won't launch after install python 3.5
askubuntu.com
 いやー焦りました。
 じゃけんUbuntuでpython3.5使いたいときはanacondaで仮想環境使いましょうね~。