Anaconda在2020年的一次公告中宣布,对于团队用户,他们将开始收费。

  • 团队人数少于200人,可以继续免费使用。
  • 收费的范围是Anaconda团队提供的default通道中的软件包。

如果我继续使用Anaconda发行版软件,但是不用Anaconda的下载通道,要不要付费呢? 没有实践,直接卸载吧还是。

有鉴于此,我平移到了Miniforge,几乎无痛,Miniforge和Anaconda相比:

  • 底层都是调用conda来管理环境,而conda是开源的产品。
  • Anaconda是商业公司,他们提供的Anaconda发行版的产品中,default通道是使用他们的,所以,这里的软件包是有Anaconda公司劳动成本的。
  • conda-forge是一个开源组织,他们提供很多conda可用的软件包,通过Miniforge可以使用它们,Miniforge的default通道换成了conda-forge,是免费的。

顺手记录一个问题(不算Bug,毕竟代码里就这样写的,只能说不及我的预期吧):
问题:

  • 自定义envs的存储文件夹后,即修改了envs_dirs变量,然后使用conda env list查看环境列表时,不显示环境的名字,始终显示为路径。
  • 激活环境后,命令行前边的Prompt,也显示的是具体路径,不是环境名字。

前置:

我没有修改过env_prompt,并且确认了它的值是'{default_env}',不是其他。

原因:

查看了源代码,这不是Miniforge的问题,是conda的问题,conda在解析环境名的时候,环境所在的文件夹名字必须是envs,才能解析出名字。详见下面文件

# repo/conda/activate.py

def _default_env(self, prefix):
    if paths_equal(prefix, context.root_prefix):
        return "base"
    return basename(prefix) if basename(dirname(prefix)) == "envs" else prefix