在试图理清这问题,我遇到了以下问题。
我有一个安装到的 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
答案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-stdeb
和python-mkdebian
工具简化了 Ubuntu 打包所需的各种文件的生成。
答案4
请务必检查:
http://pypi.python.org/pypi/modern-package-template/1.0 为了获得包含启动 setup.py 文件的良好默认包布局
http://pypi.python.org/pypi/virtualenv 用于隔离开发环境与系统的其他部分。运行类似
python setup.py 开发
将在您的虚拟环境中构建/设置您的命令,以便您可以对其进行测试。