Jupyter Notebook加载julia.magic报FileNotFoundError问题求助
问题原因
报错核心为FileNotFoundError: No such file or directory: 'julia',IPython终端可正常运行但Jupyter Notebook报错,是因为Jupyter内核加载时的PATH环境变量和终端环境不一致,Julia可执行文件的路径未被包含在Notebook内核的PATH中,导致PyJulia无法找到Julia运行时。
排查步骤
先确认路径差异:
- 在Jupyter Notebook单元格中执行以下代码,打印内核的PATH:
import os print(os.environ['PATH'])
- 在终端中执行以下两条命令,获取Julia实际路径和终端PATH:
echo $PATH which julia
对比输出结果,确认which julia返回的路径是否在Notebook打印的PATH中不存在。
解决方案
- 方案1:初始化时直接指定Julia可执行文件路径(最快捷,无需修改配置)
将终端执行which julia得到的绝对路径填入以下代码即可:
from julia import Julia # 示例:假设which julia返回/opt/julia/bin/julia,就写这个路径 jl = Julia(runtime="/opt/julia/bin/julia", compiled_modules=False) # 初始化完成后再加载magic扩展 %load_ext julia.magic
- 方案2:运行时临时添加Julia路径到Notebook的PATH中
import os # 替换为你实际的Julia所在目录,比如julia在/opt/julia/bin下,就写对应路径 os.environ['PATH'] = '/opt/julia/bin:' + os.environ['PATH'] # 之后再执行初始化操作即可
- 方案3:永久修改对应内核配置
找到当前conda环境对应的Jupyter内核配置文件,路径一般为~/conda/envs/julia-py38/share/jupyter/kernels/python3/kernel.json,在文件中添加env字段配置PATH:
{ "argv": [ "/conda/envs/julia-py38/bin/python", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "Python 3 (julia-py38)", "language": "python", "env": { "PATH": "/opt/julia/bin:${PATH}" } }
保存文件后重启Jupyter服务即可永久生效。
内容的提问来源于stack exchange,提问作者A1122
相关产品推荐
相关产品推荐

