将不同的软件包从一个环境复制到另一个环境

时间:2019-05-10 13:01:40

标签: python-3.x anaconda

我正在使用Anaconda并设置虚拟环境,并且我想知道是否存在大容量操作,如果()中的软件包名称,只能将软件包从一个环境(A)复制到另一个环境(B)。 A)不在(B)中。我可以看到有关复制整个环境的文档,但是我的设置很大程度上取决于版本控制,即使(B)环境中显示了程序包的先前版本,我也不想覆盖任何内容。

到目前为止,我一直在复制整个环境并一次安装软件包。

#Install one-by-one in Anaconda Prompt
conda create --name package_name python=3.7 -y #-y defaults "y" to all subsequent prompts
conda install package_name

#Create new environment with packages (in one line)
conda create --name environment_name python=3.7 pandas=0.24.2 scipy


#Make a clone of an existing environment on the same machine
conda create -n flowers --clone snowflakes


#Duplicate an existing environment on a different machine
#Save packages for future use:
conda list --export > package_list.txt

#Reinstall packages from the export file:
conda create -n environment_name --file package_list.txt

#Duplicate an existing environment on a different machine (with different syntax)
#Save packages for future use:
conda env export --no-builds > file.txt

#Reinstall packages from the export file:
conda env create --file /path/to/file.txt

方案1是肯定有效的简单方法,但非常繁琐

方案2也很简单,但是它仅复制现有环境。我希望能够拥有2个现有环境,并且如果我想将所有新的唯一程序包从一个环境复制到另一个环境,我并不想创建一个全新的环境,然后根据以下内容删除所有内容软件包版本。

方案3与方案2的结果相同,但在另一台计算机上。

如果我可以循环遍历环境A并仅复制环境B中不存在的软件包(这意味着环境B中的较旧版本的软件包不会被覆盖),那将解决我的问题

0 个答案:

没有答案