有关如何执行此操作的信息很多,但是由于“有多种方法可以给猫换皮”,因此涵盖该过程的所有教程/手册似乎都做出了与其他假设不同的某些假设。教程,我仍然没有设法掌握它。
到目前为止,这是我认为我了解的。
- 我的最终目标应该是创建“二进制” .deb软件包。由于所有Python程序都是这样的,因此此类软件包将独立于平台(32/64位)。
- 要创建“二进制”包,我首先需要创建一个源包。
- 要创建源包,我可以使用
CDBS
或debhelper
。Debhelper是初学者的推荐方法。 - 创建源程序包的核心是
DEBIAN
在源目录中的目录中填充许多文件,以阐明需要在何处复制文件,它们受什么版权和许可方案,它们具有什么依赖性等。 - 如果Python源代码还附带distutils的脚本,则该步骤#4可在很大程度上自动化该
dh_make
命令。setup.py
现在我的问题是:
- 我对流程的理解正确吗?有什么我想念的东西,或者我弄错了吗?
- 步骤5确实让我更困惑:特别是对我来说最模糊的两点是:
- 如何编写
setup.py
安装独立程序的脚本? 编辑:通过独立的程序,我指的是节目旨在通过桌面用户使用(而不是一个模块,这是我理解的一样功能的集合被其他软件已经被导入后使用)。在我的特定情况下,我实际上需要两个这样的“程序”:主软件和单独的实用程序(实际上,另一个“程序”应与另一个程序放在同一程序包中)。 - 这种脚本对DEB包有什么特殊性?官方文档似乎只涉及RPM和Windows内容。
- 如何编写
顺便说一句:这些是迄今为止我能找到的最佳信息来源。如果您有什么比这更好的,请分享!:)
- Ubuntu的Python打包指南
- 从python setup.py创建一个.deb包(它显示了步骤,但是对它们的解释不足以使我遵循)
- ShowMeDo视频,有关“从python程序中创建.deb软件包”(它似乎不是最新的,并且-如果我理解正确的话-它将产生供个人使用的软件包,没有依赖项,也没有签名的changelog等使其与Debian政策不兼容的关键数据)。
setup.py
位。这与autotools
许多GNU C / C ++项目使用的步骤相当,但特定于python。这比听起来容易,请阅读docs.python.org/distutils/index.html