首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Python distutils?

如何使用Python distutils?
EN

Stack Overflow用户
提问于 2008-08-27 05:03:07
回答 5查看 11K关注 0票数 25

我用python编写了一个快速程序,将GUI添加到cli程序中。我想知道如何使用distutils创建安装程序。因为它只是命令行应用程序的GUI前端,所以它只在*nix中工作,所以我不担心它是跨平台的。

我的主要目标是为debian/ubuntu用户创建一个.deb包,但我不明白如何创建/配置文件。到目前为止,我主要是一名web开发人员。

编辑:有人知道一个使用distutils的项目吗?这样我就可以看到它在运行中了,并且,您知道,真的尝试构建它吗?

这里有几个有用的链接

  • Ubuntu Python打包指南 本指南是非常的帮助。我不知道我怎么会在我的第一波咕噜声中错过它。它甚至引导您打包现有的python应用程序。
  • Ubuntu MOTU项目 这是在ubuntu的官方包维护项目。任何人都可以加入,并且有很多关于创建各种类型的包的教程和信息,其中包括上面的'python打包指南‘。
  • "Python distutils to deb?“- Ars论坛讨论 根据这段对话,你不能只使用distutils。它不遵循debian打包格式(或类似的格式)。我想这就是为什么您需要dh_make,如Ubuntu指南所示
  • distutils的deb命令 这篇文章有一些有趣的讨论(这也是我如何找到ubuntu指南)关于如何连接一个zip文件和一个shell脚本来创建某种通用的可执行文件(任何带有python和bash的东西)。真奇怪。如果有人发现更多关于这种做法的信息,请告诉我,因为我从未听说过。
  • 描述deb格式和distutils如何适合于python邮件列表
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-08-27 05:12:47

distutils简单示例。这基本上是这样的,除了真正的安装脚本通常包含更多的信息。不过,我从未见过从根本上更复杂的情况。本质上,您只需给它一个需要安装的列表。有时候,您需要给它一些映射分块,因为源树和已安装的树可能不一样。

下面是一个现实生活(匿名)的例子:

代码语言:javascript
复制
#!/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']) 
          ])
票数 14
EN

Stack Overflow用户

发布于 2011-01-17 19:00:23

apt-get install python-stdeb

Python到Debian源代码包转换实用程序

这个包提供了一些工具,可以通过新的distutils命令sdist_dsc从package生成Debian包。Debian包提供了自动默认值,但是可以通过配置文件对结果包的许多方面进行自定义。

  • pypi-install将查询(PyPI)中的包,下载它,从它创建一个.deb,然后安装.deb。
  • py2dsc将把distutils构建的源tarball转换为Debian源代码包。
票数 6
EN

Stack Overflow用户

发布于 2008-08-27 10:04:25

大多数Python程序将使用distutils。姜戈是一目了然的http://code.djangoproject.com/svn/django/trunk/setup.py

您还应该阅读文献资料,因为它非常全面,并且有一些很好的示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档