我很好奇 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.toml和Manifest.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。