Ubuntu: デフォルトのPythonを変更する

こちらの記事に関連して、プログラム側からPythonのバージョンを選ぶ方法に替えて、デフォルトのPythonを変更する方法をメモっておく。

sudo update-alternatives --config python

これでバージョン選択が可能。

こちらを参照。
http://future-software-labo.anyagent.net/ubuntupython%E3%81%AE%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%92%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%89%E3%82%8C%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/


Ubuntu: aptのインストールトラブル

いつものようにUbuntuを起動すると、すぐにapt-get updateとapt-get upgradeをする癖がついています。

今日はこれで半日潰れました。

apportというパッケージがインストールできません。しかも、かなりシリアスな状態とのメッセージが。

悩まされたのはこれです。

SyntaxError: invalid syntax
dpkg: パッケージ apport の処理中にエラーが発生しました (--remove):
サブプロセス インストール済みの pre-removal スクリプト はエラー終了ステータス 1 を返しました
Traceback (most recent call last):
File "/usr/bin/pycompile", line 38, in
from debpython.namespace import add_namespace_files
File "/usr/share/python/debpython/namespace.py", line 120
except (IOError, OSError), e:
^
SyntaxError: invalid syntax
dpkg: error while cleaning up:
サブプロセス インストール済みの post-installation スクリプト はエラー終了ステータス 1 を返しました
処理中にエラーが発生しました:
apport
E: Sub-process /usr/bin/dpkg returned an error code (1)

いろいろ調べて、原因がわかりました。
インストーラで使われているpythonのコマンドが一部python3に対応していないらしいのです。
そこで、下記にしたがってバージョンをあえてpython2に指定しました。
といっても、プログラムの先頭にこれを書き加えるだけです。

#!/usr/bin/python2

以下を参考にしました。

Ubuntu 16.04 その3 - デフォルトのPythonをPython2からPython3へ変更