python - 有没有一种标准的方法来创建用于分发 Python 程序的 Debian 包?

标签 python debian packaging distutils debhelper

有大量关于如何做到这一点的信息,但由于“给猫剥皮的方法不止一种”,所有的教程/手册都涵盖了一些过程似乎做了一些与其他教程不同的假设,我仍然没有掌握它。

到目前为止,这是我认为我理解的。

  1. 我的最终目标应该是创建一个“二进制”.deb 包。这样的包将是平台无关的(32/64 位),因为所有 Python 程序都是如此。
  2. 要创建“二进制”包,我首先需要创建一个源包。
  3. 要创建源代码包,我可以使用 CDBSdebhelper。 Debhelper 是初学者的推荐方式。
  4. 创建源代码包的核心是在源目录中的 DEBIAN 目录中填充许多文件,这些文件说明需要复制文件的位置、它们受哪些版权和许可方案的约束、什么他们拥有的依赖项等等......
  5. 第 4 步可以在很大程度上自动化 dh_make 命令 if Python 源代码还带有 distutils 的 setup.py 脚本。

现在我的问题:

  1. 我对流程的理解是否正确?我是否遗漏了什么,或者我做错了什么?
  2. 第 5 步确实让我更加困惑:具体而言,我最不清楚的两点是:
    • 如何编写安装独立程序的 setup.py 脚本? 编辑: 作者:独立程序 我的意思是一个旨在供桌面用户使用的程序(与 module 不同,我理解它是一个导入后供其他软件使用的功能集合)。在我的具体情况下,我实际上需要两个这样的“程序”:主软件和一个单独的实用程序(实际上是第二个“程序”,它应该与另一个程序在同一个包中)。
    • 这种 DEB 包脚本的特殊性是什么?官方文档似乎只处理 RPM 和 Windows 的东西......

顺便说一句:这些是迄今为止我能找到的最好的信息来源。如果你有比这更好的,请分享! :)

最佳答案

看起来像 stdeb会做你想做的。

另外,对于安装脚本,我强烈推荐distribute's console_scripts入口点支持。

关于python - 有没有一种标准的方法来创建用于分发 Python 程序的 Debian 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110604/

相关文章:

python - 如何将原始 Python 包上传到 PyPI?

python - 在 Python 中是否有存储函数缓存文件的标准位置?

python - 我有一个时间序列体积图。想要将另一列数据框强加为虚线

python - Django - 禁用表单选择字段验证

c++ - QT:没有在 X11EventFilter 中获取 XIDeviceEvent 数据

python - 如何创建假装提供 Python 模块的虚拟 RPM?

python - 如何控制scikit-learn决策树算法的精度

python - 如何将 numpy 数组流式传输到 pyaudio 流中?

linux - 在启动时、x11 启动之前、USB 填充之后运行脚本

debian - 无法在 debian buster 上安装 libc6 版本 2.29/更新版本