pyton - python setup py install mac
Python distutils-¿Alguien sabe cómo usarlo? (5)
La mayoría de los programas de Python usarán distutils. Django es uno - ver http://code.djangoproject.com/svn/django/trunk/setup.py
También debe leer la documentación , ya que es muy completa y tiene algunos buenos ejemplos.
Escribí un programa rápido en python para agregar una GUI gtk a un programa cli. Me preguntaba cómo puedo crear un instalador usando distutils. Como es solo una interfaz gráfica de usuario para una aplicación de línea de comandos, solo funciona en * nix de todos modos, así que no me preocupa que sea multiplataforma.
mi objetivo principal es crear un paquete .deb para usuarios de Debian / Ubuntu, pero no entiendo los archivos de make / configure. Principalmente he sido desarrollador web hasta ahora.
¡Gracias por tu ayuda!
editar : ¿Alguien sabe de un proyecto que usa distutils para poder verlo en acción y, realmente, intentar construirlo?
Aquí hay algunos enlaces útiles
Guía de empaquetado de Ubuntu Python
Esta guía es muy útil. No sé cómo me lo perdí durante mi ola inicial de gooling. Incluso lo guiará a través del empaquetado de una aplicación existente de Python
Este es el paquete oficial que mantiene el proyecto en ubuntu. Cualquiera puede unirse, y hay muchos tutoriales e información sobre cómo crear paquetes, de todo tipo, que incluyen la ''guía de empaquetado de python'' anterior.
"¿Python se desvincula de Deb?" - Discusión del foro de Ars Technica
Según esta conversación, no puedes usar distutils. No sigue el formato de paquete Debian (o algo así). Supongo que es por eso que necesitas dh_make como se ve en la guía Ubuntu Packaging
"Un comando bdist_deb para distutils
Este tiene una discusión interesante (es también la forma en que encontré la guía de ubuntu) sobre la concatenación de un archivo zip y un script de shell para crear algún tipo de ejecutable universal (cualquier cosa con python y bash que sea). extraño. Avíseme si alguien encuentra más información sobre esta práctica porque nunca he oído hablar de ella.
Descripción del formato deb y cómo encajan los distutils en la lista de correo de python
Vea el ejemplo simple de distutils . Eso es básicamente lo que es, excepto los scripts de instalación reales que generalmente contienen un poco más de información. Sin embargo, no he visto ninguno que sea fundamentalmente más complicado. En esencia, solo le das una lista de lo que necesita ser instalado. Algunas veces necesita darle algunos dictados de mapeo ya que la fuente y los árboles instalados pueden no ser los mismos.
Aquí hay un ejemplo de la vida real (anonimizado):
#!/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 = "[email protected]",
version = ''1.0.5'',
package_dir = {''Package3'' : ''site-packages/Package3''},
packages = [''Package3'', ''Package3.Queries''],
data_files = [
(''/etc/Package3'', [''etc/Package3/ExternalResources.conf''])
])
distutils realmente no es tan difícil una vez que lo dominas. En realidad, solo se trata de introducir metainformación (nombre del programa, autor, versión, etc.) y luego seleccionar qué archivos desea incluir. Por ejemplo, aquí hay un ejemplo del módulo distutils setup.py de una biblioteca de pitón decentemente compleja:
Tenga en cuenta que esto no se trata de ningún archivo de datos o lo que sea, así que YMMV.
En otra nota, estoy de acuerdo en que la documentación de distutils es probablemente la peor documentación de Python. Es extremadamente incluyente en algunas áreas, pero descuida información realmente importante en otras.
El siguiente tutorial me pareció muy útil. Es más corto que la documentación de distutils y explica cómo configurar un proyecto típico paso a paso.
apt-get install python-stdeb
Utilidad de conversión de paquete fuente de Python a Debian
Este paquete proporciona algunas herramientas para producir paquetes Debian a partir de paquetes Python a través de un nuevo comando distutils, sdist_dsc. Se proporcionan valores predeterminados automáticos para el paquete Debian, pero muchos aspectos del paquete resultante se pueden personalizar a través de un archivo de configuración.
- pypi-install consultará el Python Package Index (PyPI) para un paquete, lo descargará, creará un .deb y luego instalará .deb.
- py2dsc convertirá un tarball fuente generado por distutils en un paquete fuente Debian.