如何使用Python distutils来完成?
题
我写了一个快速程序在蟒蛇添加一个gtk GUI cli程序。我想知道我怎么可以创建一个安装使用distutils来完成.因为它只是一个GUI前端用命令行程序,它只适用于*尼克斯无论如何,所以我不担心它的跨平台。
我的主要目标是创建一个.deb包debian/ubuntu用户,但是我不明白做/配置文件。我已经主要是一个网页开发人员直到现在。
编辑:任何人都不会知道的一个项目,使用distutils来完成这样我就能看到它在行动而且,你知道,实际上是试图建设?
这里有几个有用的链接
-
该指南 非常 有帮助的。我不知道我错过了它在我最初的波gooling.它甚至走你通过包装的现有应用程序的蟒蛇
-
这是官方的包裹保持项目在ubuntu。任何人都可以加入,而且有大量的教程和信息创建的软件包,所有的类型,其中包括上述'python包装指南'。
"蟒distutils来完成对deb?" -索再解放联盟技术论坛的讨论
根据这次谈话,你不能只用distutils来完成.它没有按照debian包装的格式(或类似的东西).我猜这就是为什么你需要dh_make如Ubuntu包装指南
-
这其中有一些有趣的讨论(这也是我发现的ubuntu指南)关于连接一个拉链文件和一个脚本来创建一种通用的可执行的(任何与python和庆典,是)。奇怪的。让我知道如果有人发现更多的信息,这种做法,因为我从未听说过它。
解决方案
看看 distutils来完成简单的例子.这基本上是什么样的,除了真正的安装脚本通常包含更多一点的信息。我还没有看到任何从根本上更加复杂,虽然。从本质上说,你只要给它一个名单的什么需要安装。有时你需要给它一些映字典来源和安装树,可能会不相同。
这里是现实生活中的(匿名)例如:
#!/usr/bin/python
from distutils.core import setup
setup (name = 'Initech Package 3',
description = "Services and libraries ABC, DEF",
author = "That Guy, Initech Ltd",
author_email = "that.guy@initech.com",
version = '1.0.5',
package_dir = {'Package3' : 'site-packages/Package3'},
packages = ['Package3', 'Package3.Queries'],
data_files = [
('/etc/Package3', ['etc/Package3/ExternalResources.conf'])
])
其他提示
apt-get install python-stdeb
蟒蛇于Debian源包的实用程序的转换
这个软件包提供一些工具来生产Debian包Python包通过一个新的distutils来完成的命令,sdist_dsc.自动违约提供的软件包,但许多方面得到的软件包可以定制,通过配置文件。
- pypi安装将查询Python揽子指数(PyPI)对于一个 包,下载它,创建一个.deb从它的,然后安装 。黛比
- py2dsc将转换distutils来完成建造的源代码为Debian 来源包。
最Python程序将使用distutils来完成. Django 是一见 http://code.djangoproject.com/svn/django/trunk/setup.py
你应该也读读 该文件, ,因为它的非常全面并且有一些很好的例子。
我找下面的 教程 是非常有帮助的。这是短于distutils来完成文件并解释如何设置一个典型的项目步步骤。
distutils来完成真是不是所有的困难,一旦你得到了它的窍门。这真的只是一个问题放在一些元信息(节目名称、作者版本,等等),然后选择什么样的文件要包括。例如,这样品distutils来完成setup.py 模块从一个体面的复杂蟒蛇图书馆:
注意,这并不处理数据的任何文件或诸如此类的东西,所以情况因人而异。
另一方面,我同意distutils来完成的文件可能是一些蟒蛇的最糟糕的文件。这是非常包容性的,在一些地区,但忽略了一些真正重要的信息的其他人。