オオハタの研究ノート

考えたこととか勉強したこととか、書いていきます。

JuliaPro で IJuali を追加できない。

概要。

JuliaPro をインストール後、 https://pkg.juliacomputing.com/ にアクセスして token.toml をダウンロード。 ~/.juliapro/に入れれば OK。

以下長いです。

Julia っていうのが良い感じだということを聞きつけまして、 IJulia を試そうと https://juliacomputing.com/products/juliapro.html から Linux 向けのやつをダウンロード。 一応、クイッガイドも。

Prerequisites for Installation on Ubuntuを確認。

sudo apt-get -y install xclip
sudo apt-get -y install libgconf-2-4

次は sh にパーミッションを与える。

chmod 777 JuliaPro-1.0.2.1_build-441.sh

この部分、クイッガイドにはこう書いてある。

chmod 777 JuliaPro-1.0.2.1.sh

なんか名前違うんだけど。。。

インストール先のパスを指定できるので~/Julia にしておく

$./JuliaPro-1.0.2.1_build-441.sh /home/username/Julia

満を持して起動。

$cd ~/Julia/JuliaPro-1.0.2.1
$./Launch_JuliaPro

JuliaREPL のところで Enter をすとサイトが開いて、登録するらしいのだが起動せす。 ファイル名も違ってるクイックガイドたしまあ無視するか(ここが悪かった!!) ということで REPL にて]をして add IJulia するとエラーに。

(JuliaPro_v1.0.2.1) pkg> add IJulia
Updating registry at ~/.juliapro/registries/JuliaPro
Updating git-repo https://pkg.juliacomputing.com/registry/JuliaPro
ERROR: MethodError: no method matching display(::MIME{Symbol("application/prs.juno.jlpane")}, ::TokenManager.AuthWindow)

検索してもでてこず終わる。 再インストールとか試すも効果なし。 もうどうしようもなくクイックガイドを読んでいると

  1. Using JuliaPro in a non-GUI environment
    By default, JuliaPro will download all the packages from https://pkg.juliacomputing.com/
    , this website requires authentication

とあった。authentication?えっ

hence, you have to download token.toml
file to authenticate any requests from your JuliaPro installation to the server.
This file can be downloaded by visiting following website in your browser
https://pkg.juliacomputing.com/

これか!登録って必要なんた。。。 そういえば Token とか Auth とか書いてある。。

(JuliaPro_v1.0.2.1) pkg> add IJulia
Updating registry at ~/.juliapro/registries/JuliaPro
Updating git-repo https://pkg.juliacomputing.com/registry/JuliaPro
ERROR: MethodError: no method matching display(::MIME{Symbol("application/prs.juno.jlpane")}, ::TokenManager.AuthWindow)

わからんよ。

Once you have token.toml , you can move this file to the machine where you have
installed JuliaPro, the default location to place this file is ~/.julia/token.toml

てなわけで token.toml をダウロードして下記にぶち込む。 ~/.julia/token.toml

はあやっとだよ。

そして再びのエラー!!!

(JuliaPro_v1.0.2.1) pkg> add IJulia
Updating registry at ~/.juliapro/registries/JuliaPro
Updating git-repo https://pkg.juliacomputing.com/registry/JuliaPro
ERROR: MethodError: no method matching display(::MIME{Symbol("application/prs.juno.jlpane")}, ::TokenManager.AuthWindow)

もうわけわからんと諦めていた。 それでもクイックガイドの最後の方にこんな記述が。

you can always change
the default location by editing following file (Please take a backup before editing this file)
vi JuliaPro-1.0.2.1/Julia/etc/julia/startup.jl
In startup.jl, we are assigning the default location for token.toml using
following line
ENV["JULIA_PKG_TOKEN_PATH"] = joinpath(homedir(),".julia","token.toml")

なるほどこれでトークン指定できるのね。とりあえず確認。

$ cat startup.jl | grep TOKEN
ENV["JULIA_PKG_TOKEN_PATH"] = joinpath(homedir(),".juliapro","token.toml")

???

joinpath(homedir(),".juliapro","token.toml")

って~/.juliapro/token.toml じゃん。

Once you have token.toml , you can move this file to the machine where you have
installed JuliaPro, the default location to place this file is ~/.julia/token.toml

クイックガイド!適当なこと書かんでくれ〜。 ~/.juliapro/にトークンをコピーし、

add IJulia

$jupyter notebook

にて確認できました。

f:id:KenjiOhata:20190130004824p:plain

めでたしめでたし。

うーん。登録制を甘く見てたのが悪かったのかな。それにしてもガイドが不親切だったし、サイトも自動で開かなかったしな。。