Anaconda 在conda中创建新环境时使用和不使用克隆库的区别

Anaconda 在conda中创建新环境时使用和不使用克隆库的区别,anaconda,conda,Anaconda,Conda,在官方康达文件中,通过以下方式创建新环境: conda create——名称myenv 但我发现它不可靠,所以我通常用克隆库创建一个新环境: conda create--name myenv--clone base 据我所知,如果您要克隆任何其他环境,那么您就是在复制该环境中所有包的精确副本。但是,如果在不进行克隆的情况下创建一个新环境,默认情况下您仍然可以获得所有的基本包。但是,如果您创建了一个新环境而没有克隆基础,那么安装一些新包可能会出现问题,因为它们可能需要从基础更新一些依赖项 那么,我

在官方康达文件中,通过以下方式创建新环境:

conda create——名称myenv

但我发现它不可靠,所以我通常用克隆库创建一个新环境:

conda create--name myenv--clone base

据我所知,如果您要克隆任何其他环境,那么您就是在复制该环境中所有包的精确副本。但是,如果在不进行克隆的情况下创建一个新环境,默认情况下您仍然可以获得所有的基本包。但是,如果您创建了一个新环境而没有克隆基础,那么安装一些新包可能会出现问题,因为它们可能需要从基础更新一些依赖项

那么,我想知道真正的区别是什么?

第一种情况

conda create --name myenv
如果不指定任何包,将创建一个没有包的完全空的环境。因此,如果您运行(比如)Python,您的shell仍将从基本环境运行Python,并且您将看到所有的包。如果将Python安装到新环境中(无论是在创建时还是之后):

然后运行Python,您将看到没有可用的包。你可以通过书面形式进一步确认这一点

conda list -n myenv

这应该告诉您,myenv中没有软件包

谢谢!您如何看待依赖性问题?有时,当我试图将一个新包安装到非克隆环境中时,它需要从base更新依赖项,但它没有权限。通过克隆base或smth来创建新环境的最佳解决方案是什么?什么意思,需要从base进行更新?你能通过编辑你的原始问题来发布整个操作的输出吗?
conda list -n myenv