3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

JuliaのパッケージをGithubからcloneしてGoogle Colaboratoryで使う方法

Posted at

はじめに

Google Colaboratoryはクラウド環境でPythonが実行できるサービスとして有名ですが、Juliaを実行することもできます。Juliaを利用する方法については、以下の記事が参考になります。

ところで、ある程度まとまったコードをすでに書いており、それをGoogle Colaboratoryで使いたいという需要もまたあるのではないかと思います。そこでこの記事では、Juliaの実行環境が構築されていることを前提に、GithubのレポジトリをcloneしてGoogle Colaboratoryで利用する方法をまとめました。

やり方

JuliaのパッケージがGithubのrepositoryに置いてある場合を考えます。repositoryはPrivateでもPublicでも構いません。

Personal access tokenを作成する

この記事の執筆時点で、Githubはパスワード認証を廃止しています。代わりに利用できるのがPersonal access tokenを用いた認証です。tokenを作成する方法は公式ページを参照してください。然るべき手順を踏んで"Generate token"すると、ghp_***************といった長い文字列が表示されるので、これを記憶しておきます。

cloneする

次にGoogle Colaboratoryのノートブック(すでに規定のカーネルがJuliaになっているものとします)を開き、以下のコマンドをコードブロックに書きこんで実行します。

run(`git clone https://USERNAME:TOKEN@github.com/USERNAME/REPOSITORYNAME.git`)

ここで、USERNAMEはGithubのユーザー名、TOKENは上で作成したアクセストークン、REPOSITORYNAMEはrepositoryの名前です。例えば、ユーザー名がJohnSmithTOKENghp_hogehogehoge、repository名がMyrepoの場合、

run(`git clone https://JohnSmith:ghp_hogehogehoge@github.com/JohnSmith/Myrepo.git`)

となります。run(`ls -l`)コマンドを打って、Myrepoというディレクトリができていれば成功です。

パスを通す

cloneしたパッケージをJuliaに認識させる作業を行います。

以下のコマンドをコードブロックに書きこんで実行します。前節でクローンしてきたパッケージMyrepoが、以下のようなディレクトリ構造を持っているとします。

C:.
├─docs
├─src
│ ├─MyModule.jl  
│ ├─hoge.jl
| └─fuga.jl
├─test
| └─runtests.jl
├─Manifest.toml
├─Project.toml
└─README.md

この場合、ソースコード類はsrcに収められています。ここへのパスを通すには、

push!(LOAD_PATH, "/content/Myrepo/src")

を実行すればOkです。ちなみに、/contentはGoogle Colaboratoryを立ち上げたときのカレントディレクトリです。これは、run(`pwd`)によって確認できます。無事パスが通れば、

using MyModule

によって読み込みができるようになっているはずです。お疲れさまでした。

サンプル

サンプルはGistで公開しています。このnotebookをGoogle Colaboratoryにアップロードして、順番にコードブロックを実行すれば動作すると思います。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?