为 Julia 设置默认的 conda 环境

Setting the default conda environment for Julia

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

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

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

所以我的问题是:

如果我的问题在其他地方太过naive/answered,那么如果你能指出我的亲戚 documentation/tutorial,我将不胜感激。documentation/tutorial。

据我了解,PyPlot.jl relies on PyCall.jl to run python code. In turn PyCall relies on Conda.jl 管理 python 环境。

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

所以,回答你的问题:

does julia use and maintain a separate conda environment in order to communicate with python?

默认是

Is it possible to move the .julia folder (or more specifically the conda folder which tends to get a bit bulky to another directory).

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

Is it possible to create different conda environments for use within julia?

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

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

ENV["PYTHON"]="C:\ProgramData\Anaconda3\python.exe"
using Pkg
pkg"build PyCall"

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

我也建议阅读 PyCall installation instructions

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

ENV["PYTHON"]=""
pkg"build PyCall"