pythonでデータサイエンスを教えるためにGoogleの共同作業を使用しています。ノートブックに学生向けの特定のレッスンのみを残すために、代わりにコーディングしたいくつかの基本的なメソッドをインポートして提供したいと思います。気を散らすのを防ぐために、これらの方法が事前に入力された大きなノートブック。
これらのメソッドをpipで公開せずにインポートするにはどうすればよいですか? google-colaborary pipはgithubからインストールできますか?
私たちにとって最良のオプションは、ドライブにコードを入れ、csvファイルの場合と同じようにモジュールをコラボスペースにアップロードし、標準のインポートを使用できるようにすることです。それは可能ですか?
これらのメソッドをpipで公開せずにインポートするにはどうすればよいですか? google-colaborary pipはgithubからインストールできますか?
はい、コラボでbashコマンドを実行することで(コマンドに!
を追加することで)、githubからpipインストールを実行できます。例えば:
!pip install git+<github_link>
私たちにとって最良のオプションは、ドライブにコードを入れ、csvファイルの場合と同じようにモジュールをコラボスペースにアップロードし、標準のインポートを使用できるようにすることです。それは可能ですか?
これは少し注意が必要ですが、[google-drive-ocamlfuse][1]
を使用してGoogleドライブをGoogleCollabインスタンスにマウントすることで実行できます。
Ocamlfuseをインストールし、以下を使用してGoogleアカウントの権限を取得する必要があります。
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse Fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
次に、以下を使用してGoogleドライブをマウントします。
!mkdir -p drive
!google-drive-ocamlfuse drive
その後、以下を使用してマウントが成功したかどうかを確認できます。
!ls drive
これにより、Googleドライブ内のすべてのファイルが表示されます。
私はこれを正確に行う汚いトリックを持っています。すべてのコードを1つのパッケージにまとめることで、
!wget mysite/mypackage.py
from mypackage import *
同様に、mypackageに依存関係がある場合は、zipファイルを取得して!unzipすることができます