在虚拟环境中从终端运行 Julia 脚本

Dan*_*sen 4 julia

我很好奇 Julia 是否支持与 Python + 虚拟环境相同的工作流程。

在 Python 中,我可以从终端执行以下操作:

$ python -m venv venv
$ source venv/bin/activate
(venv) $ pip install myFavPackage
(venv) $ python src/myFavScript.py
Run Code Online (Sandbox Code Playgroud)

Julia 可以通过 REPL 使用虚拟环境,如下所示:

(@v1.5) pkg> activate .
(myFavProject) pkg> add myFavPackage
julia> include("src/myFavScript.jl")
Run Code Online (Sandbox Code Playgroud)

但是如果我运行前两行(将所有依赖项添加到Project.tomlManifest.toml文件),然后跳到终端并运行

(@v1.5) pkg> activate .
(myFavProject) pkg> add myFavPackage
julia> include("src/myFavScript.jl")
Run Code Online (Sandbox Code Playgroud)

然后它无法识别我安装的包:

$ julia src/myFavScript.jl
Run Code Online (Sandbox Code Playgroud)

这是否意味着我必须全局安装软件包才能从终端运行 Julia 脚本?如果没有,我如何强制终端使用本地依赖项?

fre*_*kre 15

您可以使用该--project标志,即

$ julia --project=path/to/project src/myFavScript.jl
Run Code Online (Sandbox Code Playgroud)

如果您位于正确的文件夹中,您可以省略路径,即

$ julia --project src/myFavScript.jl
Run Code Online (Sandbox Code Playgroud)

最后,如果您希望默认执行此行为,则可以将环境JULIA_PROJECT变量设置为@.,这相当于始终使用 启动 Julia --project