6

我必须将 Django 应用程序部署到 SuSE Linux Enterprise 11 系统上。公司规则说我只需要使用 RPM 进行部署。虽然我可以./setup.py bdist_rpm为每个依赖项使用它,但它并不是很理智,因为 RPM 还没有记录所有依赖项。因此,在使用 RPM 和手动管理依赖项方面我没有真正的优势,这有点麻烦,我想避免它。

现在我有了以下想法:在构建包时,我可以创建一个virtualenv,通过那里安装我的所有依赖pip项,然后将其与其余代码打包成一个可靠的 RPM。

这种方法有多明智?

4

1 回答 1

2

我已经使用这种方法大约一年了,而且效果很好。

一个问题是,您需要检查写入 virtualenv 的 bin 目录的任何 python 脚本中的 bang 行。这些最终将成为您的构建环境中使用的完整路径名,这可能与您最终安装 virtualenv 的目录不同。因此,您可能需要在 RPM 的 postinstall 中添加一些 sed 调用来调整路径。

于 2011-01-15T03:40:00.703 回答