1

可以在 python/django 中使用的大量应用程序/包是两者的一大优势。这也引发了关于处理这些已安装的应用程序/库的问题,尤其是在需要部署项目的多个环境时。

将此类第三方库安装到系统对我来说似乎并不理想。因此,经过一番研究,我发现有两种可能的方法,即 virtualenv 或将包包含在项目文件夹中。但问题是为每个项目创建一个 virtualenv 有点混乱,另一方面,在项目目录中包含大型包会增加项目大小并产生导入问题。

我在上述两种方法之间找到了一种中间立场,即将可与多个项目共享的库安装到 virtualenv 和项目中较小的项目特定库中。

例如,对于 django 项目,我会将 django 安装到 virtualenv 中,并且项目中使用的其他库(例如 xlwrt、dojango 等)包含在项目的“lib”文件夹中。

这是最好的方法还是有更好的替代方法?

4

1 回答 1

5

最好的方法是为每个项目使用单独的 virtualenv。它没有什么乱七八糟的(使用 virtualenvwrapper)。

在项目之间共享库始终存在潜在风险:如果您想在一个项目中升级库并在另一个项目中使用旧版本怎么办?

pip freeze还将列出项目的实际应用程序列表,而不是您应该手动过滤的列表。

于 2012-05-05T06:01:18.320 回答