開発中のJuliaパッケージをNotebook上で呼び出す方法
Juliaのパッケージの作り方は上記の記事が参考になります. パッケージを作る際, Jupyter Notebook上で動作確認したり使い勝手を確かめながら開発を進めたいことがあります. あまり難しくはありませんが, 方法をまとめておきます.
呼び出す方法
下記のようにノートブック上Pkg.activate("パッケージのフォルダのパス")
とすれば開発途中のパッケージや野良パッケージをusing パッケージ名
で呼び出せるようになります. また, using Revise
によって, パッケージのソースコードを書き換えた際の変更が随時適用されます(ただし, パッケージを呼び出す前にRevise.jlを読み込んでおく必要があります). Revice.jlを使ったことが無い場合は, Pkg.add("Revise")
のコメントアウトを外してインストールしておきましょう.
using Pkg
# Pkg.add("Revise")
using Revise
Pkg.activate("パッケージのフォルダのパス")
using パッケージ名
こちらの記事のようにPkgTemplates.jlでパッケージを作成した場合, pwd()
の出力先のディレクトリに作成されているはずです. 作成する場所を指定したい場合, PowerShell等でディレクトリを移動してからjulia
を起動しましょう. あるいは
include("パッケージのフォルダのパス/src/パッケージ名.jl")
using .パッケージ名
のように起動することもできますが, Documenter.jlを使ってドキュメントを生成する場合, docs/make.jl
にusing パッケージ名
が含まれており.
が不足しているためにエラーが出ます.
具体例
例えば, 次のようなソースコードの場合を考えます.
module パッケージ名
function hello(a)
println(a)
end
end
このとき, パッケージ内の関数は下記のようにすれば呼び出せるはずです. (パッケージを書き換えれば結果も変わりますが, using Revise
が無いとパッケージの読み込み時点の結果しか出力されず, ソースコードの変更が結果に反映されません.)
julia> パッケージ名.hello(123)
123
パッケージ名を省略したい
もし, パッケージ名を省略して関数を呼び出したい場合, 下記のようにexport hello
とします.
module パッケージ名
export hello
function hello(a)
println(a)
end
end
このとき, 下記のようにhello()
だけで呼び出せます.
julia> hello(123)
123
テストの実行
テストは下記のように実行できます.
include("パッケージのフォルダのパス/test/runtests.jl")
Discussion