Python-ControlをGoogle Colabで使うには,毎回
!pip install slycot control
を実行しなければならない。そこで,これらのモジュールをGoogle Driveへインストールし,少し快適に使うようにしてみた。
まず,適当なノートブックを開いた状態で,Google Driveがマウントされているかどうかを確認する。具体的には,左側のファイルアイコンをクリックして,ファイル一覧に「drive」(下図の緑枠)がなければ,「ドライブをマウント」ボタン(下図の赤枠)を押してマウントする。

ドライブがマウントしていない状態でモジュールをインストールしてしまうと,ランタイムが更新されたあとに消えてしまうので要注意。私の場合は「Colab Notebooks」の下に「my_modules」というフォルダを作って,その中にモジュールをインストールすることにした。この場合,次のコードを実行する。
!pip install slycot control --target /content/drive/MyDrive/Colab\ Notebooks/my_modules --no-deps
ここで,「–no-deps」オプションは重要で,これが無いと,my_modulesの下に,slycot及びcontrolと関係のあるモジュールがたくさんインストールされてしまう。また,Colabの後のバックラッシュは,Colab Notebooksの間のスペースをエスケープするために必要。以上で準備は終わりだ。
一度上記を済ませてしまえば,Google Driveがマウントされていることを確認した上で
import sys sys.path.append('/content/drive/MyDrive/Colab Notebooks/my_modules') !pip uninstall mkl -y from control.matlab import *
のようにすればよい。なお,mklをアンインストールしているのは,この記事を書いている時点で,mklをupgradeまたは削除しないとstep関数でクラッシュしてしまうからである。以上,お試しあれ。
【参考】
Google Driveのマウントは
from google.colab import drive
drive.mount('/content/drive')
としてもできるが,アカウント認証を行う必要があるので,ファイルブラウザのボタンから行うのが個人的にはおすすめ。