【问题标题】:Anaconda (sometimes) create environments in a location different from conda by default - they are not synchronized?Anaconda(有时)默认在与 conda 不同的位置创建环境 - 它们不同步?
【发布时间】:2020-07-03 13:04:30
【问题描述】:

Anaconda 和 conda 不同步。默认情况下,Anaconda 似乎在与 conda 不同的位置创建 conda 环境,conda info --env 显示重复的输出,其中一个具有相同环境名称的大写和小写版本。

conda 和 Anaconda 在 2 个不同的地方创建目录的事实是一个问题。默认情况下它们应该是同步的。有时我使用 Navigator 创建环境,有时使用 conda 命令行。

如果我使用大写名称指定新环境, conda info --envs 会报告两次(有时)。这不是一个大问题。但是,这会让新手感到困惑或让不那么新手感到恼火。

conda info --envs 的输出为:

# conda environments:
#
base                     C:\ProgramData\Anaconda3
Rpy2                     C:\ProgramData\Anaconda3\envs\Rpy2
dash_plotly              C:\ProgramData\Anaconda3\envs\dash_plotly
genepattern           *  C:\ProgramData\Anaconda3\envs\genepattern
hranalytics              C:\ProgramData\Anaconda3\envs\hranalytics
my_hranalytics           C:\ProgramData\Anaconda3\envs\my_hranalytics
rpy2                     C:\ProgramData\Anaconda3\envs\rpy2
widgets-tutorial         C:\ProgramData\Anaconda3\envs\widgets-tutorial
BeakerX                  C:\Users\rlysakow\.conda\envs\BeakerX
R361                     C:\Users\rlysakow\.conda\envs\R361
beakerx                  C:\Users\rlysakow\.conda\envs\beakerx
Rpy2                     c:\ProgramData\Anaconda3\envs\Rpy2
dash_plotly              c:\ProgramData\Anaconda3\envs\dash_plotly

当我导航到父目录时,具有相同名称的“重复”环境,即 Rpy2 和 rpy2 实际上并不存在。只有一个存在,带有大写字母。小写实例似乎是 Python 或 conda 的某种工件。

我的conda、Anaconda Navigator、Python版本如下: 康达版本 4.8.2 Anaconda 版本 2019.10 Python 3.7.4 版

c:\programdata\Anaconda3 是我的默认 Anaconda 安装位置。我不知道为什么它开始在目录C:\Users\username\.conda\envs\ 目录中创建环境。去年,我在完全不同的计算机上的环境中看到了这一点。

我知道如何强制 conda 在特定位置创建新环境,方法是在命令行上指定它,或者先导航到那里。但是,我不想在所有环境创建任务中都使用 conda。

这里有更多信息:

当我执行 conda info 时,我在 Anaconda base 环境中得到以下输出:

(基础)C:\00-RSL\conda-envs>conda 信息

     active environment : base
    active env location : C:\ProgramData\Anaconda3
            shell level : 1
       user config file : C:\Users\rlysakow\.condarc
 populated config files : C:\Users\rlysakow\.condarc
          conda version : 4.8.2
    conda-build version : 3.18.9
         python version : 3.7.4.final.0
       virtual packages :
       base environment : C:\ProgramData\Anaconda3  (writable)
           channel URLs : https://conda.anaconda.org/r/win-64
                          https://conda.anaconda.org/r/noarch
                          https://repo.anaconda.com/pkgs/main/win-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/win-64
                          https://repo.anaconda.com/pkgs/r/noarch
                          https://repo.anaconda.com/pkgs/msys2/win-64
                          https://repo.anaconda.com/pkgs/msys2/noarch
                          https://conda.anaconda.org/conda-forge/win-64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : C:\ProgramData\Anaconda3\pkgs
                          C:\Users\rlysakow\.conda\pkgs
                          C:\Users\rlysakow\AppData\Local\conda\conda\pkgs
       envs directories : C:\ProgramData\Anaconda3\envs
                          C:\Users\rlysakow\.conda\envs
                          C:\Users\rlysakow\AppData\Local\conda\conda\envs
               platform : win-64
             user-agent : conda/4.8.2 requests/2.22.0 CPython/3.7.4 Windows/10 Windows/10.0.17763
          administrator : True
             netrc file : None
           offline mode : False

如何配置 Anaconda 和 conda 以始终在 c:\programdata\anaconda3 中创建所有新环境?

【问题讨论】:

    标签: python-3.x anaconda conda


    【解决方案1】:

    如果我正确理解了这个问题,有几个可能的解决方案。

    1. 每次创建环境时明确指定所需的 envs 目录。为此,您可以键入:

      conda create --prefix=/users/.../yourEnvName python=x.x

    2. 配置 conda 使用的环境路径变量。为此,您可以键入:

      conda config --append envs_dirs /path/to/envs

    另外,链接到我发现对相关问题有帮助的类似问题how to specify new environment location for conda create

    【讨论】:

      【解决方案2】:

      我在 Windows 10 上将 Anaconda 与 Anaconda.Navivator (2.1.0) 一起使用。它曾经将环境存储在文件夹 C:\ProgramData\Anaconda3\envs 中,但在某些时候开始使用其他路径:C:\Users\用户名.conda\envs。这不方便与 IDE 一起使用,所以我希望所有环境都在一个地方,但我似乎错过了在哪里可以配置它。

      我试过conda config --set envs_dirs C:\ProgramData\Anaconda3\envs

      但它给了我错误CondaValueError: Key 'envs_dirs' is not a known primitive parameter

      帮助我的是this answer。我在 C:\Users\UserName\ 中找到了文件 .condarc,并在那里添加了几行。在此 Anaconda.Navigator 开始在原始文件夹中创建新环境之后,所有环境都可以从 IDE 中看到:

      envs_dirs:
        - C:\ProgramData\Anaconda3\envs
      

      【讨论】:

        猜你喜欢
        • 2018-08-20
        • 1970-01-01
        • 2019-03-09
        • 2022-08-21
        • 1970-01-01
        • 1970-01-01
        • 2021-12-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多