繁体   English   中英

多个相关的 Python 项目是否需要自己的虚拟环境?

[英]Do multiple, related Python projects need their own virtual environment?

我有两个相关的 Python 项目:

../src/project_a
../src/project_a/requirements.txt
../src/project_a/project_a.py

../src/project_b
../src/project_b/requirements.txt
../src/project_b/project_b.py

两个项目都使用相同版本的 Python。 各自的requirements.txt文件相似但不相同。

我是为每个项目创建一个单独的虚拟环境,还是可以在../src级别创建一个“全局”虚拟环境? 注意:我显然是使用虚拟环境的新手。

虚拟环境旨在使事物彼此隔离。

  • 如果一个项目是另一个项目的依赖项,那么它们必须安装在同一环境中。
  • 如果两个项目的依赖关系相互冲突,那么它们必须安装在不同的环境中。
  • 如果两个项目要在 Python 解释器的不同版本上运行,那么它们必须安装在不同的环境中。

这基本上是唯一的规则(我能想到的)。 对我来说,rest 只是最佳实践、个人意见、常识、技术限制等的混合体。

例如,人们可以(再次)想到宠物与牛的类比。 虚拟环境可以被视为按需创建的东西(例如使用tox等工具自动创建的东西),一旦清楚地写下依赖关系(例如在requirements.txt中),这很容易。

在您的情况下,我可能会从单个 Python 虚拟环境开始,只有在需要时才开始创建更多。 一旦项目规模扩大,这很可能会发生。 一旦一个项目需要与另一个项目的依赖项冲突的特定版本的依赖项,最终它可能成为绝对必要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM