有大量关于如何做到这一点的信息,但由于“给猫剥皮的方法不止一种”,而且涵盖该过程的所有教程/手册似乎都做出了与其他不同的某些假设教程,我仍然没有设法掌握它。
到目前为止,这是我认为我理解的。
- 我的最终目标应该是创建一个“二进制”.deb 包。这样的包将是平台无关的(32/64 位),因为所有 Python 程序都是这样。
- 要创建一个“二进制”包,我首先需要创建一个源包。
- 要创建源包,我可以使用
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 包”的视频(它似乎不是最新的,而且 - 如果我做对了 - 将生成供个人使用的包,没有依赖关系,也没有签名的变更日志和其他使其与 Debian 政策不兼容的关键数据)。