PythonCall.jlはPyCall.jlに並ぶpythonパッケージをjuliaと言う別の言語で利用するjuliaパッケージである.
以前,既存condaを使ったPythonCall.jlの利用を模索したが,anacondaは有償化し使えない場合があると言うことで,conda(mamba)を使わずにPythonCall.jlを使う方法をまとめておく.
python3のインストール
割愛,OSに合ったパッケージマネージャを使うと良いでしょう.
仮想環境とpythonパッケージ
仮想環境の構築には公式で開発されているvenvを使う.新規作成する場合は任意の名前をつける必要がある.ここではjuliapyとする.
python -m venv juliapy
sourceでactivateする.
source ./juliapy/bin/python3
pipでpythonパッケージをインストールする.
(juliapy)$ pip install matplotlib
一応deactivateしておく(julia起動時にactivateする必要はない)
(juliapy)$ deactivate
環境変数の設定
.bashrc(または.zshrcなど)に以下を追記.export
は利用するシェルに合わせて変更してください.
export JULIA_CONDAPKG_BACKEND="Null"
export JULIA_PYTHONCALL_EXE=/path/to/juliapy/bin/python3
JULIA_PYTHONCALL_EXE
に既存の仮想環境を使っても構わない(oi_ken風)し,もはや仮想環境を使う必要もない.
sourceして環境変数に設定する.
source ~/.bashrc
PythonCall.jlのビルド
julia REPLを起動し,Pkgモード(])でadd
pkg> add PythonCall
完了したらbuild
pkg> build PythonCall
これで終了
新たなpythonパッケージをインストールしたいときは,環境変数に設定した仮想環境をactivate(source)してpip installすれば良い.
使い方
using PythonCall
plt=pyimport("matpoltlib.pyplot")