我安装了朱莉娅v1.7.0
。现在,我想要创建一个新的虚拟环境,其中包含一个特定版本的Julia(例如,v1.7.3
);当我激活新环境时,我希望通过特定版本的Julia(包含/分配给新的env )来运行我的代码。在本例中,v1.7.3
)和包。有可能这样做吗?或者我将从官方网站下载朱莉娅v1.7.3
并使用它创建一个新的env?
我知道我可以创建一个新的虚拟环境以这种方式。但是这个解释没有提供关于我的具体问题的信息,所以我别无选择,只能在这里问它。
任何帮助都将不胜感激。谢谢。
发布于 2022-05-27 23:14:53
默认行为是为major.minor
版本创建一个公共共享命名环境。默认情况下,这通常是~/.julia/environments/1.7
。
从Julia1.7开始,您可以创建一个共享命名环境,方法是以@
作为项目名称的前缀,或者提供要激活的--shared
选项。
(@v1.7) pkg> st
Status `~/.julia/environments/v1.7/Project.toml`
[295af30f] Revise v3.3.1
(@v1.7) pkg> activate @1.7.3
Activating new project at `~/.julia/environments/1.7.3`
(@1.7.3) pkg> st
Status `~/.julia/environments/1.7.3/Project.toml` (empty project)
(@1.7.3) pkg> activate --shared 1.7.3
Status `~/.julia/environments/1.7.3/Project.toml` (empty project)
此外,您还可以随时将当前工作目录更改为另一个文件夹,并将其转换为一个环境。
请注意,环境堆栈。默认情况下,您的@1.7
环境仍将为您的@1.7.3
环境提供基础。您可以通过运行Base.load_path()
来观察这一点。您可以通过操作LOAD_PATH
创建不同的环境堆叠。
您还可以使用环境变量来操作此操作。https://docs.julialang.org/en/v1/manual/environment-variables/
例如,这是在朱莉娅的conda锻造包中完成的。在这种情况下,整个朱莉娅仓库被转移到conda环境中。有关如何操作当前JULIA_PROJECT
、JULIA_LOAD_PATH
和JULIA_DEPOT_PATH
的示例,请参阅下面。
发布于 2022-05-29 00:26:52
朱莉娅环境不包含您想要运行它们的朱莉娅版本--写入Project.toml
的版本界限只是对在环境中编写的代码的兼容性的限制,指定环境中的代码将使用的最低版本。您仍然需要安装适当的julia版本&在环境中使用它运行代码。
Project.toml
和Manifest.toml
只是为了给出一个可再现的环境状态,版本有界的依赖关系,朱莉娅本身就是其中之一。特别是,环境不包含其所有依赖项的代码和/或二进制工件。
https://stackoverflow.com/questions/72413414
复制