管理许多Python项目/virtualenv

2024-04-27 01:14:15 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的工作场所,我必须管理许多(目前有几十个,但最终可能有数百个)pythonweb应用程序,可能运行各种框架、库等(所有这些都是在不同的版本上)。到目前为止,Virtualenv一直是管理这方面的救星,但我仍然希望能够更好地管理事情,尤其是在管理软件包升级方面。在

我想到了一些情况

选项1: 使用pip为每个virtualenv中的每个项目安装所有必需的模块,必要时单独升级每个模块。这将需要为每次升级花费大量的时间,并需要额外的文档来跟踪。可能通过一些管理脚本来实现。在

选项2: 在中央存储库中安装任何应用程序使用的所有库,使用符号链接轻松更改所有项目的版本。简单的升级和集中管理,但首先放弃了使用virtualenv的一些好处。在

选项3: 以某种方式混合上述两种方法,集中最常见的库和/或那些可能需要升级的库,并将其余的库本地安装到每个virtualenv上。在

其他人也有类似的情况吗?最好的办法是什么?在


Tags: 模块pip项目版本框架应用程序virtualenv选项
2条回答

我们有一个要求.pip包含pip安装包的项目根目录下的文件,因此自动升级相对容易。我不确定符号链接是否能解决这个问题-它将使你的项目子集的升级变得更加困难。如果磁盘空间不是问题,并且您可以编写一些简单的脚本来列出和升级软件包,那么我还是坚持使用virtualenv。在

你可以考虑使用zc.扩建. 它比普通的pip/virtualenv更烦人,但它为您提供了更多的自动化机会。如果磁盘空间的使用不是问题,我建议您继续为每个项目使用单独的环境,这样您就可以一次升级一个环境。在

相关问题 更多 >