解決:Python, JupyterLab, Julia, IJulia on Anaconda のインストール

JupyterLabでJulia使ってPyPlotがしたいだけなんや!!

 *2021年11月13日、Qt platform pluginのパスを追加したら他のアプリと競合した件について、記事の一番下のほうに追記あり。またその際の対処法はこちら

 マジでmatplotlibが動かなかった…疲れた…もう自分が悪いと諦めてたが、pythonに詳しい同僚も同じようにjuliaを入れたらmatplotlibが動かなくなり、解決できなかった、と言っていたので、自分のレベルが低くてしょうもないミスでできないだけや、普通の人は使えるんや、、、と決めつけずにもう少しチャレンジしてみた。
 過去の記事はこちら
easygoingrider.hatenablog.com
easygoingrider.hatenablog.com
easygoingrider.hatenablog.com

解決編

 結局、minicondaとchannelsの変更、python3.9.5でうまくいった。よくわからんのでこのおまじないから外れた場合は知りません。

step1. minicondaをインストール

 使ったのは「Miniconda3-py39_4.10.3-Windows-x86_64.exe」。latestはうまくいかなかった。理由は知らん。
インストール中、pathを通すか聞いてくるチェックボックスはチェックしない(たぶんしたらダメ?)。インストールしたら、

conda config --remove channels defaults
conda config --append channels conda-forge
conda install matplotlib
conda install -c conda-forge jupyterlab

を実行。

step2. Juliaをインストール

 使ったのは「julia-1.6.3-win64.exe」。ここでもインストール中にpathを通すか聞いてくるが、チェックしない(たぶんしたらダメ?)。インストールしたら、

julia> ENV["PYTHON"]=""
julia> using Pkg
julia> Pkg.add("PyPlot")
julia> using PyPlot
julia> plot([1,2,3])

これで晴れて動くようになった。マジ長い闘いだった…
ちなみにこの時、PCによってはまだ動かずに、plot([1,2,3])をした瞬間にjuliaのコンソールごと消えてしまう場合がある。自分がそのエラーに遭遇した時は、コンソール上に一瞬エラーコードが見えていた。そこには、

qt.qpa.plugin: Could not load the Qt platform plugin "windows" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

との記載が。ただ、本当に入ってないの??とcondaで確認したら、ちゃんと入っとるやんけ。

(base) C:\Users\user>conda list | find "qt"
pyqt                      5.12.3           py39hcbf5309_7    conda-forge
pyqt-impl                 5.12.3           py39h415ef7b_7    conda-forge
pyqt5-sip                 4.19.18          py39h415ef7b_7    conda-forge
pyqtchart                 5.12             py39h415ef7b_7    conda-forge
pyqtwebengine             5.12.1           py39h415ef7b_7    conda-forge
qt                        5.12.9               h5909a2a_4    conda-forge

そこで、環境変数に以下のパスを追加する(値の方は自分の環境に適宜読み替え)。
変数:QT_PLUGIN_PATH
値:C:\Users\user\.julia\conda\3\Library\plugins
これで動くようになった。
最後に

(@v1.6) pkg> add IJulia

やっと目的のJulia with PyPlot on JupyterLab on conda環境が出来上がった。
マジでもう二度とやりたくない。パスとか環境とかちゃんと勉強してたら簡単に解決できたのだろうか…

 *2021年11月13日追記
 環境変数にQt Pluginのパスを追加したことで、Dropboxが動かなくなってしまった(One driveやAutodeskなどでも同様の問題が発生するかも)。解決方法はこちら。
easygoingrider.hatenablog.com