【问题标题】:using setuptools with post-install and python dependencies使用带有安装后和 python 依赖项的 setuptools
【发布时间】:2010-11-18 17:21:13
【问题描述】:

这和this question有些关系。假设我有一个要通过 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。)

【问题讨论】:

    标签: python packaging setuptools rpm


    【解决方案1】:

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

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

    【讨论】:

    • 除非我写一个相应的卸载脚本,那就更重复了。好电话。
    猜你喜欢
    • 2014-10-02
    • 2013-08-30
    • 2016-05-27
    • 2012-02-01
    • 2016-06-01
    • 2014-06-28
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多