Pregunta

Escribí un rápido programa en python para agregar un gtk interfaz gráfica de usuario para un cli programa.Me preguntaba ¿cómo puedo crear un instalador utilizando distutils.Ya que es sólo una interfaz gráfica de una aplicación de línea de comandos que sólo funciona en sistemas *nix de todos modos así que no estoy preocupado acerca de ser multiplataforma.

mi objetivo principal es crear un .paquete deb para los usuarios de debian/ubuntu, pero no entiendo a hacer/configurar los archivos.He sido principalmente un desarrollador web hasta ahora.

editar:¿Alguien sabe de un proyecto que utiliza distutils para que yo pudiera ver en acción y, como usted sabe, en realidad se trata de construcción que?

Aquí hay un par de enlaces útiles

  • Ubuntu Python Guía De Embalaje

    Esta Guía es muy útil.No sé cómo me lo perdí durante mi primera ola de gooling.Incluso te guía a través de envasado existente python aplicación

  • El Ubuntu MOTU Proyecto

    Este es el paquete oficial de mantener el proyecto en ubuntu.Cualquiera puede participar, y hay un montón de tutoriales e información sobre la creación de paquetes, de todos los tipos, que incluyen los de arriba 'python guía de empaquetado'.

  • "Python distutils a deb?" - Ars Technica en el Foro de discusión

    De acuerdo a esta conversación, usted no sólo puede utilizar distutils.No se siguen los paquetes de debian formato (o algo así).Yo supongo que es por eso que usted necesita dh_make como se ve en el Ubuntu Packaging guide

  • "Un bdist_deb comando para distutils

    Este tiene una discusión interesante (además, ¿cómo puedo encontrar la guía ubuntu) acerca de la concatenación de un archivo zip y un script de shell para crear una especie de universal ejecutable (cualquier cosa con python y bash que es).raro.Déjeme saber si alguien encuentra más información sobre esta práctica, porque nunca he oído hablar de él.

  • Descripción de el formato deb y cómo distutils ajuste en la lista de correo python

¿Fue útil?

Solución

Ver el distutils ejemplo sencillo.Eso es básicamente lo que es igual, excepto real de secuencias de comandos de instalación por lo general contienen un poco más de información.No he visto ninguna de las que son fundamentalmente más complicado, sin embargo.En esencia, se le da una lista de lo que necesita ser instalado.A veces es necesario dar algunas asignación de dicts desde la fuente y se instala árboles podría no ser el mismo.

Aquí está una de la vida real (anónimos) ejemplo:

#!/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']) 
          ])

Otros consejos

apt-get install python-stdeb

Python paquete fuente de Debian utilidad de conversión

Este paquete proporciona algunas herramientas para producir los paquetes Debian de paquetes de Python a través de un nuevo distutils comando, sdist_dsc.Automática de los valores predeterminados para el paquete de Debian, pero muchos de los aspectos del paquete resultante puede ser personalizado a través de un archivo de configuración.

  • pypi a instalar se consulta el Paquete de Python Índice (PyPI) para un paquete, descargar, crear una .deb de él, y luego instalar el .deb.
  • py2dsc convertir un distutils-construido tarball fuente en un Debian el paquete de código fuente.

La mayoría de los programas de Python se utiliza distutils. Django es una ver http://code.djangoproject.com/svn/django/trunk/setup.py

Usted también debe leer la documentación, ya que es muy completo y tiene algunos buenos ejemplos.

He encontrado el siguiente tutorial a ser muy útil.Es más corta que la distutils documentación y explica cómo configurar un proyecto típico paso por paso.

distutils realmente no es tan difícil una vez que usted consiga la caída de ella.Es realmente sólo una cuestión de poner en algunos meta-información (nombre, autor, versión, etc) y, a continuación, seleccionar los archivos que desea incluir.Por ejemplo, aquí se muestra un ejemplo de distutils setup.py módulo de un decentemente complejo de la biblioteca de python:

Kamaelia setup.py

Tenga en cuenta que esto no lidiar con los archivos de datos o o lo que sea, así que YMMV.

En otra nota, estoy de acuerdo en que la distutils documentación es, probablemente, algunos de python peor de documentación.Es extremadamente inclusive en algunas áreas, pero descuida alguna información realmente importante en los demás.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top