为 Julia 设置默认 conda 环境

NMe*_*ech 4 julia anaconda conda miniconda

我刚刚开始在 Windows 平台上学习 Julia。我已经使用 python 一段时间了(通过 miniconda 和一个虚拟环境,我将从现在开始在 p3 上调用它)。另外,我喜欢使用 VSCode,所以我使用 Julia 1.0.0 扩展。

我的首要任务之一是创建一个简单的情节。当我使用 Pkg 添加PlotsPyPlot时,我注意到对于后者发出了以下命令conda install matplotlib

因为我用的是Miniconda(也就是基础环境),所以我一开始怀疑是调用了(基础)环境。然而,经过仔细检查,我意识到在我的用户文件夹中有一个.julia/conda包含数据的文件夹。

所以我的问题是:

  • julia 是否使用和维护一个单独的 conda 环境以便与 python 通信?
  • 是否可以将 .julia 文件夹(或更具体地说是 conda 文件夹,它往往会变得有点庞大)移动到另一个目录。
  • 是否可以创建不同的 conda 环境以在 Julia 中使用?

如果我的问题太天真/在其他地方得到了回答,那么如果您能指出我相关的文档/教程,我将不胜感激。

ffe*_*tte 5

据我了解,PyPlot.jl依赖PyCall.jl来运行 python 代码。反过来,PyCall 依赖Conda.jl来管理 python 环境。

虽然 Conda.jl 允许您管理多个环境,但 PyCall 似乎只会使用“根”环境。Conda.jl文档提供了一些有关如何更改此根环境位置的指示。

所以,回答你的问题:

julia 是否使用和维护一个单独的 conda 环境以便与 python 通信?

默认情况下,是

是否可以将 .julia 文件夹(或更具体地说是 conda 文件夹,它往往会变得有点庞大)移动到另一个目录。

可以通过设置JULIA_DEPOT_PATH环境变量来移动整个 .julia 文件夹。或者通过设置环境CONDA_JL_HOME变量并重建 Conda.jl 来仅移动 conda 根环境,如上面链接中所述。

是否可以创建不同的 conda 环境以在 Julia 中使用?

不确定我理解你的问题。如果您想问是否可以有多个可能的 conda 环境,并且您选择将哪个环境用于特定的 Julia 会话,那么 AFAIU 不会:依赖 PyCall 的所有内容都将使用“根”conda 环境。


Prz*_*fel 5

默认情况下,Julia 使用内置的 Anaconda,但是您可以使用任何其他 Python 安装。您可以通过指向不同的 Python 可执行文件来更改与 Julia 一起使用的 Python 环境:

ENV["PYTHON"]="C:\\ProgramData\\Anaconda3\\python.exe"
using Pkg
pkg"build PyCall"
Run Code Online (Sandbox Code Playgroud)

注意,改变环境后PyCall需要重新构建。您可以通过Python 安装附带的Conda.jl或命令甚至. Julia 应该适用于任何 Python 安装,但是使用 Anaconda 或 Miniconda 发行版,您将获得最佳体验。condapip

我建议您还阅读PyCall 安装说明

最后,如果您对新的 Python 配置不满意,可以通过以下方式将上述内容恢复为内置 Python:

ENV["PYTHON"]=""
pkg"build PyCall"
Run Code Online (Sandbox Code Playgroud)