Anaconda和conda不同步。默认情况下,Anaconda似乎在与conda不同的地方创建conda环境,conda info --env
显示重复的输出,其中一个具有相同环境名称的大小写版本。
事实上,conda和Anaconda在两个不同的地方创建目录是一个问题。默认情况下,它们应该同步。有时我使用Navigator创建环境,有时使用conda命令行。
如果我用大写名称指定一个新环境,conda-info-envs会报告两次(有时(。这不是什么大问题。然而,这对新手来说是令人困惑的,对不太熟悉的人来说是令人讨厌的。
conda info --envs
的输出为:
# conda environments:
#
base C:ProgramDataAnaconda3
Rpy2 C:ProgramDataAnaconda3envsRpy2
dash_plotly C:ProgramDataAnaconda3envsdash_plotly
genepattern * C:ProgramDataAnaconda3envsgenepattern
hranalytics C:ProgramDataAnaconda3envshranalytics
my_hranalytics C:ProgramDataAnaconda3envsmy_hranalytics
rpy2 C:ProgramDataAnaconda3envsrpy2
widgets-tutorial C:ProgramDataAnaconda3envswidgets-tutorial
BeakerX C:Usersrlysakow.condaenvsBeakerX
R361 C:Usersrlysakow.condaenvsR361
beakerx C:Usersrlysakow.condaenvsbeakerx
Rpy2 c:ProgramDataAnaconda3envsRpy2
dash_plotly c:ProgramDataAnaconda3envsdash_plotly
当我导航到父目录时,具有相同名称的"重复"环境(即Rpy2和Rpy2(实际上并不存在。只有一个是大写字母。小写的实例似乎是Python或conda的某种工件。
我的conda、AnacondaNavigator和Python版本如下:conda版本4.8.2Anaconda版本2019.10Python 3.7.4版
c:programdataAnaconda3
是我默认的Anaconda安装位置。我不知道它为什么开始在目录C:Usersusername.condaenvs
中创建环境。去年,我在一台完全不同的电脑上看到了这一点。
我知道如何通过在命令行中指定conda或先在那里导航来强制conda在特定位置创建新环境。然而,我不想在所有环境创建任务中都使用conda。
以下是更多信息:
当我执行conda info
时,我在Anacondabase
环境中得到以下输出:
(基本(C:\00-RSL\conda-envs>conda-info
active environment : base
active env location : C:ProgramDataAnaconda3
shell level : 1
user config file : C:Usersrlysakow.condarc
populated config files : C:Usersrlysakow.condarc
conda version : 4.8.2
conda-build version : 3.18.9
python version : 3.7.4.final.0
virtual packages :
base environment : C:ProgramDataAnaconda3 (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:ProgramDataAnaconda3pkgs
C:Usersrlysakow.condapkgs
C:UsersrlysakowAppDataLocalcondacondapkgs
envs directories : C:ProgramDataAnaconda3envs
C:Usersrlysakow.condaenvs
C:UsersrlysakowAppDataLocalcondacondaenvs
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:programdataanaconda3
中创建所有新环境?
如果我正确理解这个问题,有几个可能的解决方案。
-
每次创建环境时都明确指定所需的envs目录。要做到这一点,你可以键入:
conda create --prefix=/users/.../yourEnvName python=x.x
-
配置conda使用的环境路径变量。要做到这一点,你可以键入:
conda config --append envs_dirs /path/to/envs
此外,链接到类似的问题,我发现这对如何为conda-create指定新的环境位置的相关问题很有帮助。
我在Windows 10上使用Anaconda和Anaconda.Navivator(2.1.0(。它曾经将环境存储在文件夹C:\ProgramData\Anaconda3\envs中,但在某个时候开始使用其他路径:C:\Users\UserName.conda\envs。这不方便与IDE一起使用,所以我希望所有env都在一个位置,但我似乎找不到可以在哪里配置它。
我试过conda config --set envs_dirs C:ProgramDataAnaconda3envs
但它给了我错误CondaValueError: Key 'envs_dirs' is not a known primitive parameter
。
这个答案帮助了我。我在C:\Users\UserName\中找到了.condarc文件,并在其中添加了几行。在此之后,Anaconda.Navigator开始在原始文件夹中创建新的env,所有env都可以从IDE中看到:
envs_dirs:
- C:ProgramDataAnaconda3envs