【发布时间】:2021-02-21 18:44:54
【问题描述】:
我正在做一个研究项目,我需要使用一些科学软件包,每个软件包都附带其特定的需求文件,包括所需的库。我正在使用 Windows 10 中的 Anaconda 在 jupyter notebook 中编码 python。
根据我在网上阅读的内容,每个项目都需要有自己的环境,所以我使用 conda 创建了一个环境(比如 project_env)。在我的项目中,在某些地方,我需要使用一些从 Github 克隆的外部科学包(我们称之为“bst”和“MDN”),每个包都有其特定的依赖项。
我目前的做法是将所有这些依赖项安装在同一个环境 (project_env) 中,并将整个项目编码在一个笔记本中。然而,随着未来的发展,事情变得越来越复杂,即使使用 conda 安装,安装的包之间也会面临一些冲突。所以,我想出了这个想法,尽可能地让事情分开,即为外部包(bst_env 和 MDN_env)创建另外两个环境,然后在项目中需要它们时使用它们。在这种情况下,我无法将所有项目代码包含在一个 jupyter 笔记本中,因为据我所知,无法从笔记本内部切换环境。然而,以这种方式,为项目的不同部分运行不同的笔记本是相当困难和混乱的。
我的问题是:有没有一种方法可以从笔记本运行多个环境?如果不是,在项目中处理这些环境的最佳实践是什么?我应该每次都将我的变量从我的源代码(在 project_env 中运行)导出到其他环境(bst_env 或 MDN_env),并每次都激活并运行它们相应的环境和笔记本,还是有更好的做法来做到这一点?
【问题讨论】:
-
即使使用 conda 安装也面临安装包之间的一些冲突我们也许可以帮助解决这部分问题。
标签: python jupyter conda environment