python设置工具:如何覆盖其他包的文件?

python设置工具:如何覆盖其他包的文件?,python,setuptools,rpmbuild,rpm-spec,Python,Setuptools,Rpmbuild,Rpm Spec,我的问题很简单:) 但我对答案有点纠结 问题陈述:- 我有一个python包,它使用python设置工具构建和安装。 我需要在同一个包中包含3个python文件,并创建一个RPM,安装时将覆盖另一个包中的3个文件(安装在/usr/lib/python xx/site packages…) 我不知道如何才能做到这一点? 我只需要一些方法来硬编码这3个文件名,并在特定位置替换它们,这可能会根据python xx版本的不同而有所变化 还要将另一个python包定义为我要安装的RPM的依赖项。您是否考虑

我的问题很简单:) 但我对答案有点纠结

问题陈述:-

我有一个python包,它使用python设置工具构建和安装。 我需要在同一个包中包含3个python文件,并创建一个RPM,安装时将覆盖另一个包中的3个文件(安装在/usr/lib/python xx/site packages…)

我不知道如何才能做到这一点? 我只需要一些方法来硬编码这3个文件名,并在特定位置替换它们,这可能会根据python xx版本的不同而有所变化


还要将另一个python包定义为我要安装的RPM的依赖项。

您是否考虑过将需要覆盖的包分叉,修改分叉并使该分叉成为项目的依赖项?您正在考虑的方法似乎非常脆弱(例如,如果用户将其安装在
virtualenv
中该怎么办?)是的,我考虑了fork选项。但这套方案来自一个变化迅速的社区。我们不想要维护自己的叉子的开销。该软件包将安装在我们的受控环境中,在我们的设备之外将不可用。所以我认为这样做是最简单的。那么,你打算如何合并他们所做的任何影响你要覆盖的文件的更改呢?你需要做一些维护,用叉子是合乎逻辑的方法。好吧,这比我说的要多一些。社区回购由另一个团队为我们提供和维护。我们得到的只是一个RPM。将我的代码更改与其他团队合并是一个漫长的过程。虽然我同意从长远来看,这将是向前迈进的最佳途径。但是今天要测试我的软件包,我只需要这个用我的打包文件覆盖rpm安装文件的功能。这只是一种权宜之计,直到我们将这些流程落实到位。