| 1 | #!/usr/bin/env python |
|---|
| 2 | #-*- coding: utf-8 -*- |
|---|
| 3 | |
|---|
| 4 | """setup.py Pyragua |
|---|
| 5 | |
|---|
| 6 | Con este script se podrán crear distribuciones en diversos formatos, |
|---|
| 7 | como un comprimido (zip o tar.gz), una versión ejecutable, un instalador |
|---|
| 8 | para windows y un paquete rpm. |
|---|
| 9 | |
|---|
| 10 | En caso de agregar un nuevo módulo del Pyragua se debe agregar en la lista |
|---|
| 11 | pyragua_modulos para que se genere la salida adecuada. |
|---|
| 12 | |
|---|
| 13 | Distribución de código fuente |
|---|
| 14 | |
|---|
| 15 | De esta forma el script creará un paquete comprimido en un formato que |
|---|
| 16 | depende del Sistema operativo (tar.gz en UNIX, zip en gÃŒin2) |
|---|
| 17 | |
|---|
| 18 | En la linea de comandos se debe ejecutar: |
|---|
| 19 | |
|---|
| 20 | - python setup.py sdist |
|---|
| 21 | |
|---|
| 22 | Se puede especificar el formato de salida con la opción --formats |
|---|
| 23 | |
|---|
| 24 | - python setup.py sdist --formats=gztar,zip,bztar,ztar,tar |
|---|
| 25 | |
|---|
| 26 | Claro, esta opción requiere tener instalado los programas correspondientes |
|---|
| 27 | en el sistema operativo. |
|---|
| 28 | |
|---|
| 29 | **En la creación de una distribución de código fuente es importante tener |
|---|
| 30 | en cuenta el archivo MANIFEST y MANIFEST.in. El primero es generado |
|---|
| 31 | automaticamente por distutils al ejecutarse el comando, y en el caso de |
|---|
| 32 | que se modifique el script para agregar nuevos módulos se debe eliminar |
|---|
| 33 | para que este lo genere nuevamente. El segundo archivo contiene |
|---|
| 34 | instrucciones para agregar a la distribución de código fuente archivos que |
|---|
| 35 | no son de extensión 'py', como las imágenes y documentos de texto. |
|---|
| 36 | """ |
|---|
| 37 | from distutils.core import setup |
|---|
| 38 | import glob, os |
|---|
| 39 | try: |
|---|
| 40 | import py2exe |
|---|
| 41 | except: |
|---|
| 42 | print "no pude importar el py2exe si está en windows esto es un error sino ignórelo" |
|---|
| 43 | #Aquà se deben agregar los módulos nuevos del pyragua |
|---|
| 44 | pyragua_modulos=[ |
|---|
| 45 | 'pyragua', |
|---|
| 46 | 'pyragua.ClassBrowser', |
|---|
| 47 | ] |
|---|
| 48 | #Sacada del About |
|---|
| 49 | descripcion_larga = """Pyragua es un entorno de desarrollo para |
|---|
| 50 | la manipulación de código en lenguaje Python |
|---|
| 51 | diseñado por los integrantes del grupo de |
|---|
| 52 | investigación Pyrox de la Universidad |
|---|
| 53 | Tecnológica de Pereira, cuyo fin es explorar e |
|---|
| 54 | implementar nuevas tecnologÃas basadas en este |
|---|
| 55 | potente lenguaje.""" |
|---|
| 56 | |
|---|
| 57 | imagenes=glob.glob(os.path.join('pyragua', 'imagenes','*.png'))+glob.glob(os.path.join('pyragua', 'imagenes','*.ico')) |
|---|
| 58 | print glob.glob(os.path.join( 'imagenes','*.ico')) |
|---|
| 59 | print imagenes |
|---|
| 60 | locales=glob.glob(os.path.join('pyragua', 'locale','es', '*.po')) |
|---|
| 61 | setup (name='Pyragua', |
|---|
| 62 | version='0.2.5', |
|---|
| 63 | description='Entorno de Desarrollo Integrado', |
|---|
| 64 | long_description=descripcion_larga, |
|---|
| 65 | author='Pyrox', |
|---|
| 66 | author_email='pyrox@pyroxdev.org', |
|---|
| 67 | url='http://pyragua.pyroxdev.org', |
|---|
| 68 | scripts=['pyragua-ide'], |
|---|
| 69 | packages=pyragua_modulos, |
|---|
| 70 | package_dir={'pyragua':'pyragua'}, |
|---|
| 71 | package_data={'pyragua': ['pyragua/imagenes']} , |
|---|
| 72 | data_files= [(os.path.join('pyragua', 'imagenes'), |
|---|
| 73 | imagenes), |
|---|
| 74 | (os.path.join('pyragua', 'locale', 'es'), |
|---|
| 75 | locales) |
|---|
| 76 | ], |
|---|
| 77 | windows=[ |
|---|
| 78 | { |
|---|
| 79 | "script": 'pyragua/pyragua.py', |
|---|
| 80 | "icon_resources": [(1, os.path.join("pyragua","imagenes", "pyragua.ico"))] #Esto es para py2exe |
|---|
| 81 | } ] |
|---|
| 82 | ) |
|---|