【问题标题】:Setting the default conda environment for Julia为 Julia 设置默认 conda 环境
【发布时间】:2020-07-30 12:14:02
【问题描述】:

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

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

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

所以我的问题是:

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

如果我的问题在其他地方过于幼稚/得到解答,那么如果您能指出相关文档/教程,我将不胜感激。

【问题讨论】:

    标签: anaconda julia conda miniconda


    【解决方案1】:

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

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

    所以,回答你的问题:

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

    默认是的

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

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

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

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

    【讨论】:

      【解决方案2】:

      默认情况下,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 发行版您将获得最佳体验。

      我也推荐阅读PyCallinstallation instructions

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-28
        • 1970-01-01
        • 2016-09-07
        • 2018-07-11
        • 2016-12-23
        • 2021-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多