如何让IJulia使用PythonCall的CondaPkg环境而非PyCall.jl/Conda.jl?
解决IJulia复用CondaPkg环境避免多Conda环境的问题
核心思路
让IJulia直接使用CondaPkg管理的Python环境启动Jupyter,彻底绕过Conda.jl自动创建新环境的逻辑,从根源避免依赖重复。
具体操作步骤
在CondaPkg环境中安装Jupyter
打开Julia REPL,执行以下命令:using CondaPkg CondaPkg.add("jupyter")这会将Jupyter安装到CondaPkg维护的统一环境中。
获取CondaPkg环境的Python路径
在Julia REPL中执行:CondaPkg.python()复制输出的Python可执行文件绝对路径(例如
/home/user/.julia/conda/3/envs/envname/bin/python)。安装绑定CondaPkg环境的IJulia内核
打开终端,将上述路径代入以下命令执行(或在Julia中用run()执行):<替换为CondaPkg_Python路径> -m ipykernel install --user --name julia-conda --display-name "Julia (CondaPkg)"这会在Jupyter中添加一个关联CondaPkg环境的Julia内核。
禁用IJulia自动创建Conda环境
启动Julia前设置环境变量:export IJULIA_CONDA=false或者在Julia REPL中临时设置:
ENV["IJULIA_CONDA"] = false此操作会阻止IJulia调用Conda.jl创建新环境。
日常使用流程
- 启动Jupyter时,直接调用CondaPkg环境中的Jupyter:
using CondaPkg CondaPkg.run(`jupyter notebook`) - 在Jupyter界面中选择
Julia (CondaPkg)内核,即可在统一的Conda环境中运行Julia与Python代码,避免依赖重复。
额外注意事项
- 若CondaPkg环境路径发生变化(如更新包后),需重新执行步骤3安装内核。
- 若之前已存在Conda.jl创建的环境,可手动删除该环境以释放磁盘空间。
内容的提问来源于stack exchange,提问作者Przemyslaw Szufel
相关产品推荐
相关产品推荐

