为 Python 应用设置构建系统

为 Python 应用设置构建系统

在试图理清问题,我遇到了以下问题。

我有一个安装到的 Python 脚本/usr/lib/。但我需要将此脚本放入构建系统中,以便它可以与我的包一起工作。

任何帮助都将不胜感激。虽然我以前在编写 C++ 应用程序时使用过 Makefile,但我从未为 Python 文件创建过任何类型的 Makefile(我甚至不知道从哪里开始)。

我该如何为我的应用程序设置构建系统?

答案1

好吧,就像我在另一个问题上解释的那样,你不需要构建系统,并且在那种特殊情况下,没有构建系统可能会更好。

然而,最标准的是分布式实用程序。只需提供元数据(即名称、描述等)和(python)包、模块和脚本的列表(所有这些都是可选的)即可完成。

最后,如果你想从你的项目中生成一个 debian 包,那么你可以很容易地通过使用python-stdeb(uses dh7,我更喜欢) 或python-mkdebian(uses cdbs) 来实现。这些工具之间还有许多不同之处,但我会让你自己去发现它们。只需注意,两者都需要使用 distutils。(python-mkdebian是 Ubuntu 软件包的一部分python-distutils-extra,我没有用过-extra很多,但如果你愿意,你也可以试试)

答案2

斯康斯是一个使用 Python 作为语言的构建系统(对于任何项目,我通常更喜欢它而不是 makefile),我认为它应该能够完成你想要做的事情。

它有非常好的用户指南

答案3

Umang 给出了正确的答案,尽管可能没有像您作为一个完全的初学者所认为的那样详细。

对于 Python 程序,您需要先创建一个setup.py文件。该文件的主要内容是调用distutils.core.setup- 详细讨论如下distutils 文档第 2 部分

所有其他 Python 打包系统(例如 py2exe、setuptools 或 Distribute)都建立在该distutils包之上,通常通过setup()某种方式进行扩展(使用附加参数或命令)。

在将其转换为 Ubuntu 软件包之前,您可以通过运行 来测试安装脚本sudo setup.py install。它应该会将文件安装到预期位置;如果没有,您可能需要检查您的配置。特别是,文档的第 2.5 节(脚本)和 2.6 节(软件包数据)distutils可能适用于您的情况。

完成后,你可以根据Ubuntu Python 打包指南。Umang建议的python-stdebpython-mkdebian工具简化了 Ubuntu 打包所需的各种文件的生成。

答案4

请务必检查:

http://pypi.python.org/pypi/modern-package-template/1.0 为了获得包含启动 setup.py 文件的良好默认包布局

http://pypi.python.org/pypi/virtualenv 用于隔离开发环境与系统的其他部分。运行类似

python setup.py 开发

将在您的虚拟环境中构建/设置您的命令,以便您可以对其进行测试。

相关内容