为什么以及何时使用新的蟒蛇环境?(一个环境适用于所有内容?每个项目的新环境?



我有一点使用 Anaconda 的经验,并且即将过渡到更多地使用它,用于我所有的 Python 数据工作。 在开始之前,我有一个感觉很简单的问题:">我什么时候应该使用新环境?

我在StackOverflow或网络上的其他地方找不到任何好的,实用的建议。

我了解什么是环境及其好处,以及如果我正在处理的项目依赖于特定版本的库,例如该库的最新版本等,我就知道如何......那么虚拟环境就是答案;但我正在寻找一些关于如何在我不同数据项目的日常工作中实际使用它们的建议

从逻辑上讲,似乎(至少(有两种方法:

  1. 使用一个环境,直到您绝对需要一个单独的环境 对于特定项目
  2. 为每个项目使用新环境

我可以看到每种方法的一些优点和缺点,并且想知道是否有任何可以共享的最佳实践。

如果我应该只使用一个环境,直到我需要第二个环境,我应该只使用默认的"根"环境并将我所有必需的依赖库加载到该环境中,还是最好从我自己的环境开始,称为其他环境?

@codeblooded对"为什么要为安装创建新环境"这个问题的回答给了我一些关于如何使用和接近 conda 环境的提示,并提出了第三种方法,

    根据需要创建新环境,
  1. 项目不会"存在于"环境中,而是在运行时使用环境,您最终会根据需要获得尽可能多的不同虚拟环境来运行您经常在该计算机上使用的项目,这可能只是一个环境,也可能更多

无论如何,您可以看到我正在努力解决这个问题,任何帮助将不胜感激。 谢谢!

作为与数据科学家合作的开发人员,我强烈建议为每个项目创建一个环境。python环境的好处是封装了所有其他python项目的项目需求。

在上面的例子中,如果你将 Python36 用于 8 个不同的项目,很容易意外升级一个包或安装一个冲突的包,而你没有意识到它会破坏其他项目。

在你所做的工作中,这可能没什么大不了的,但考虑到为每个项目创建一个单独的环境是多么容易,好处超过了小的时间成本。

我可以告诉你,如果发现与我一起工作的任何开发人员在多个开发项目中使用单个python环境,他们将被指示立即停止这样做。

好的,我想我自己解决了这个问题。 现在看来很明显了。

您不需要为每个项目创建一个环境。

但是,如果特定项目需要特定版本的库、特定版本的 Python 等,那么您可以创建一个虚拟环境来捕获所有这些依赖项。

举个例子,

  • 假设您正在处理一个项目,该项目需要一个依赖于特定版本的 Python 的库,例如 Python 3.6,
  • 你的基本(根(环境是Python 3.7,
  • 您将创建一个配置为使用 Python 3.6 的新 anaconda 环境(可以称之为"Python36"(
  • 您将在该环境中安装所有必需的库,并在运行该项目时使用该环境。
  • 当你有另一个需要类似库的项目时,你可以重用你现在现有的Python 3.6环境(名为"Python36"(来运行这个新项目,
  • 您不必创建新的 Python 3.6
  • 环境,就像您不必安装多个 Python 3.6 实例来运行需要 Python 3.6 的多个项目一样。

最新更新