如何在Julia中创建并使用类似conda的全局环境?
Julia 原生 Pkg 包管理器本身就支持和 conda 逻辑一致的环境隔离能力,你提到的类 conda 全局环境操作都可以直接通过内置功能实现,对应操作如下:
创建新的全局环境
对应 conda 命令:conda create -n myenv
Julia 实现:打开 Julia REPL 后按]进入 Pkg 模式,第一次激活不存在的共享环境时会自动创建:(@v1.x) pkg> activate --shared myenv也可以直接通过命令行创建:
julia -e 'using Pkg; Pkg.activate(joinpath(Pkg.envdir(), "myenv"), shared=true)'列出所有全局环境
对应 conda 命令:conda env list
Julia 实现:在 Pkg 模式下执行activate --shared后按两次Tab键,即可补全显示所有已创建的全局共享环境。也可以执行代码直接查看环境存放目录的内容:using Pkg readdir(Pkg.envdir())激活全局环境
对应 conda 命令:conda activate myenv
Julia 实现:Pkg 模式下执行如下命令,激活后提示符前缀会变为当前环境名:(@v1.x) pkg> activate --shared myenv # 激活成功后提示符变为 (myenv) pkg>如果需要启动 Julia 时直接激活指定环境,可在命令行添加参数:
julia --project=@myenv列出当前环境已安装的包
对应 conda 命令:conda list
Julia 实现:目标环境激活后,在 Pkg 模式下执行:(myenv) pkg> status # 可以简写为 st (myenv) pkg> st安装新包
对应 conda 命令:conda install newpackage
Julia 实现:目标环境激活后,在 Pkg 模式下执行:(myenv) pkg> add newpackage所有 Pkg 模式的操作都可以对应为
Pkg.xxx()格式的函数调用,适合在脚本中使用,例如安装包也可以写为using Pkg; Pkg.add("newpackage")。激活全局环境后执行脚本
对应 conda 命令:conda activate myenv && python main.py
Julia 实现:直接通过命令行参数指定运行时使用的环境即可,不需要提前手动激活:julia --project=@myenv main.jl
内容的提问来源于stack exchange,提问作者p13rr0m

