【发布时间】:2021-01-23 11:54:39
【问题描述】:
我想知道 Julia 中的环境是如何工作的。我认为通过创建一个新环境,您应该只能看到该环境中的包,但似乎并非如此。为什么会这样?
即如果我创建一个临时目录并使用该目录作为环境启动 Julia,我仍然可以加载在我的一般环境中但不在标准库中的模块。
$ mkdir /tmp/jl_temp
$ julia --project=/tmp/jl_temp
(jl_temp) pkg> st
Status `/tmp/jl_temp/Project.toml` (empty project)
julia> using Plots
julia> plot()
这不会给我任何未安装软件包的错误。有人可以解释一下这种行为的原因吗?对我来说,除了标准库和环境的Project.toml 文件中的包之外,它应该无法加载任何包。我在Documentation of Pkg.jl 中找不到任何答案。
【问题讨论】:
-
你确定这是一个“环境”?它看起来像是目录路径的问题,与软件中的“环境”通常意味着什么相反,即当前可以由函数或命令直接访问的所有对象或参数。
-
看看Pkg.jl 的文档,他们是如何描述环境的,尤其是这个新环境与我们之前使用的环境完全不同。完成的是
]activate .和]add Example。
标签: package julia environment