Google Colabでpython7 ~ google drive上でのpipインストール
以前はGoogle Colabでモジュールを新たにpipを用いてインストールする方法を紹介したが、時間が経過すると初期化されてしまい再度インストールする必要があった。今回はモジュールをGoogle Drive上にインストールし、ノートブック上でパスを追加することで時間が経過してもモジュールを読み込めることが確認できたのでそれを紹介する。
以前紹介したように基本的にはGoogle Colab/Drive に pip インストール: これなら消えない😃 - GGCS ごたごた気流調査所にあるようにGoogle Drive上にパスを通してpipを使ってモジュールをインストールするという手順を踏む。
今回は http://www.366service.com/jp/qa/11e0b5adc1cd37dbcf10fa1f2474f375
のコードを参考にしているが、パスの通し方だけが違っていてこちらのコードの方がうまくいった。
まず最初にGoogle colabのnotebookからGoogle Driveをマウントする必要がある。
from google.colab import drive drive.mount('/content/drive') >Mounted at /content/drive
以下の記事の通り、認証コードをコピーするとマウントが完了する。
次に以下のコードを使ってGoogle Drive上のパスを通しておく。
import os, sys nb_path = '/content/notebooks' os.symlink('/content/drive/My Drive/Colab Notebooks', nb_path) sys.path.insert(0,nb_path)
symlinkについてはPython 3 - os.symlink() Method
またpath.insertについてはPython 3.x - [Python] sys.path.insertとは?|teratail を参照。
次にpipを使ってモジュールをさきほど通したGoogle Drive上のパスに以下のようにインストールする。今回はqulacsという量子回路シミュレーションのモジュールをインストールした。
!pip install --target=$nb_path qulacs
例えば以下のコードでimportできればインストールできていることが確認できる。
from qulacs import Observable, QuantumCircuit, QuantumState from qulacs.gate import Y,CNOT,merge
時間が経過して初期化状態では、Google Driveのマウントとパスを通すコードを実行する必要があるが、pipに関しては実行しなくてもモジュールがimportすることができる。