使用具有安装后和python依赖关系的setuptools

Dav*_*ger 5 python packaging rpm setuptools

这与这个问题有些相关.假设我有一个我想通过rpm部署的软件包,因为我需要在安装后进行一些文件复制,并且我有一些我想要声明的非python依赖项.但是我们还说我有一些python依赖项,可以在PyPI中轻松使用.好像我只是打包成一个鸡蛋,然后解压缩python setup.py install会自动处理我的python依赖关系,代价是丢失任何安装后功能和非python依赖项.

有没有推荐的方法呢?我想我可以在预安装脚本中指定它,但后来我进入信息重复,并没有真正使用setuptools的任何东西.

(我目前的设置是传递install_requires = ['dependency_name']setup,它适用于python setup.py bdist_eggunzip my_package.egg; python my_package/setup.py install,但不python setup.py bdist_rpm --post-install post-install.shrpm --install my_package.rpm.)

Mar*_*wis 7

我认为最好是你的python依赖项也可以作为RPM使用,并在RPM中声明为依赖项.如果它们在其他地方不可用,请自行创建它们,并将它们放在yum存储库中.

运行PyPI安装作为RPM安装的副作用是邪恶的,因为它不支持正确的卸载(即卸载RPM将删除您的包,但保留依赖关系,没有适当的删除过程).