使用堆叠的conda环境

时间:2017-11-03 09:33:36

标签: python anaconda virtualenv

我想一起使用多个conda环境。我有一个巨大的conda环境,包含很多软件包(我称之为monolith),我在所有项目中使用它并且不想再次创建。我想为每个项目创建一个单独的小型conda环境,并将其与我巨大的整体一起使用。这样我就可以保持整体清洁并安全地用于多个项目。以下是我认为应该注意的一些事情,

  1. 更新PATH,PYTHONPATH和LD_LIBRARY_PATH变量。
  2. 安装新软件包时,请在堆栈中的所有环境中运行try run run,然后将其安装到顶级环境中。这样就可以捕获任何版本冲突。
  3. 执行干运行时,跟踪所有包装conda列表以进行安装。当在顶层环境中运行最终安装时,只安装每个干运行中列出的包与--no-deps标志的交集。这样我们就可以避免重新安装包。
  4. 这种方法有用吗?

1 个答案:

答案 0 :(得分:0)

所以问题可以通过两种方式解决:

  • 清洁方式

  • 聪明的方式

清洁方式

您希望在每个项目中使用虚拟环境 monolith 。对于每个项目,使用项目名称复制虚拟环境 monolith ,并将其用作虚拟环境。

这种方式的优点是我们将拥有一个干净且独立的虚拟环境。这种方式的成本将是由相同数据获得的大空间,因为您在每个项目中复制整体

聪明的方式

创建 monolith 虚拟环境的副本(仅用于安全性)。 使包含虚拟环境的文件夹打包一个本地git仓库。 以下命令很有用。

  • git init

  • git add .

  • git commit -m"Master Project"

现在,每个新项目都使用git checkout -b PROJECT_NAME

创建一个新分支

不要忘记切换到您要使用的分支。最重要的是在安装任何软件包时。

P.S:根据您的系统,聪明人可能会或可能不会工作,我建议采用更清洁的方式。由于项目域名不会超过6或7.(即一个用于ML,另一个用于简历....)

另外,请评论哪些对您有用。