在现有安装之上创建 Conda 环境

Create Conda environment on top of existing installation

我已经使用 bash 安装脚本在系统上安装了 miniconda3,然后在这个安装中执行了一些包的 conda install

此安装以只读方式供其他用户使用。他们可以获取安装脚本,将 conda 安装添加到他们的 LD_LIBRARY_PATHPATHPYTHONPATH

我希望用户能够在此环境之上添加他们自己的自定义模块。

理想情况下,用户会 运行 某种形式的 conda create 环境,使用户能够在其本地环境中安装软件包,但会从我的区域获取之前安装的软件包。

有什么好的方法吗?

重要的一点是我的 conda 安装有一些特定于体系结构的库,这些库是在我们拥有的计算机系统上获得适当性能所必需的。如果用户执行标准 conda create ... 一切都是从头开始安装的,用户得不到正确的库。

听起来您想克隆基本的 Conda 环境。您只需要在创建命令中使用 --clone 参数。请参阅下面的 link 文档:

https://conda.io/docs/user-guide/tasks/manage-environments.html#cloning-an-environment

这个方法真的让我省了很多事。您可以导出现有环境并基于现有环境中所有已安装的软件包创建新环境:

$ conda env export > FILE_NAME.yml

然后你可以把这个文件带到另一台机器上或者简单地在你当前的机器上创建:

$ conda env create -f FILE_NAME.yml

conda create(或 conda env create),将覆盖并重置环境目录。您应该激活现有环境,并安装其他软件包:

# Create Conda environment, only if it does not already exists
$ [[ $(conda env list | grep my_env) ]] || conda create -y -n my_env

$ source activate my_env

(my_env)$ conda install -y --update-deps new_package

(my_env)$ conda list
# previous packages + new_package