1
2

More than 1 year has passed since last update.

juliaのスパコン等での環境構築の注意点

Last updated at Posted at 2022-11-20

超個人的な備忘録。
スパコン等(といっても千差万別なのでなんともですが)のrootがない環境でjuliaのreplとかを起動すると

ERROR: IOError: mkdir("XXX/.julia"; mode=0o777): permission denied (EACCES)

と出る場合があります。このときのXXX$HOMEであり、ここに権限がない状態で発生すると思われます。
この状態だとパッケージのインストールも出来ません。
どうやらjuliaではreplの立ち上げやパッケージインストール時に(デフォルトでは)$HOME/.juliaを参照するらしく、これがないと勝手に作ろうとするようです。
これがおそらくエラーの正体。

最も(雑だが)単純な回避方法はexport HOME=YYYみたい自分の権限のある場所に変えてしまうことです(ただし、その結果$HOMEを参照している他のソフトに影響を与える可能性があります)。
もう少し「お行儀のよい」方法はhttps://docs.julialang.org/en/v1/manual/environment-variables/ を参考にjulia関係の環境変数を書き換えることです。
例えば

export JULIA_DEPOT_PATH=YYY

と指定すればこちらの環境では動きました(https://stackoverflow.com/questions/67794194/permissions-for-installing-packages-on-julia-in-slurm-cluster も見てみてください)。

replを起動するだけならjulia --startup-file=no --history-file=noとすればエラーは出ません(がパッケージのインストールは依然として出来ません)。
とくにスパコン等ではログイン時の環境と計算の環境が異なる場合があることを忘れているとハマります(恥ずかしながら実体験)......
もちろん個人の環境に大きく依存する話なので、上記が当てはまらないケースもあるでしょうが、参考までに。

1
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
1
2