La estructura del paquete Egg Python es poco compleja. Por lo cual para empezar con su primer proyecto y diversos módulos, puede usar el concepto Scaffolding para crear un esqueleto de código usando las plantillas adecuadas para paquetes Python.
Este concepto scaffolding, es muy útil para del arranque de su desarrollo, ofreciendo una serie de colecciones de plantillas esqueletos que permiten iniciar rápidamente proyectos, existente diversos esqueletos orientados a tipos de desarrollos específicos.
Es una herramienta de linea de comando basada en plugins que le permiten crear estructuras de paquetes de proyectos Python además sirve aplicaciones web, con configuraciones basadas en paste.deploy.
Dentro de su entorno virtual activado debe instalar el paquete PasteScript, ejecutando el siguiente comando:
(python)$ pip install PasteScript
Nota
No olvidar que estos paquetes han sido instalados con el entorno virtual que previamente usted activo, eso quiere decir que los paquetes previamente instalados con easy_install están instalados en el directorio ~/virtualenv/python/lib/python2.x/site-packages/ en ves del directorio de su versión de Python de sistema /usr/lib/python2.x/site-packages/
Al finalizar la instalación podrá opcionalmente consultar cuales plantillas tiene disponible para usa, ejecutando el siguiente comando:
(python)$ paster create --list-templates
Available templates:
basic_package: A basic setuptools-enabled package
paste_deploy: A web application deployed through paste.deploy
Usted puede usar el comando paster para crear paquetes Python.
(python)$ paster create -t basic_package mipaquetepython
Selected and implied templates:
PasteScript#basic_package A basic setuptools-enabled package
Variables:
egg: mipaquetepython
package: mipaquetepython
project: mipaquetepython
Enter version (Version (like 0.1)) ['']: 0.1
Enter description (One-line description of the package) ['']: Mi Paquete Básico
Enter long_description (Multi-line description (in reST)) ['']: Mi Paquete Básico para demostrar el uso de PasteScript
Enter keywords (Space-separated keywords/tags) ['']: PasteScript Basic Package Demo
Enter author (Author name) ['']: Pedro Picapiedra
Enter author_email (Author email) ['']: pedro@acme.com
Enter url (URL of homepage) ['']: http://github.com/pyve/mipaquetepython
Enter license_name (License name) ['']: GPL
Enter zip_safe (True/False: if the package can be distributed as a .zip file) [False]:
Creating template basic_package
Creating directory ./mipaquetepython
Recursing into +package+
Creating ./mipaquetepython/mipaquetepython/
Copying __init__.py to
./mipaquetepython/mipaquetepython/__init__.py
Copying setup.cfg to ./mipaquetepython/setup.cfg
Copying setup.py_tmpl to ./mipaquetepython/setup.py
Running /home/macagua/virtualenv/python/bin/python setup.py egg_info
Usted puede verificar el paquete previamente creado y observará como este paquete básico ha habilitado el Setuptools
(python)$ tree mipaquetepython/
mipaquetepython/
|-- mipaquetepython
| `-- __init__.py
|-- mipaquetepython.egg-info
| |-- PKG-INFO
| |-- SOURCES.txt
| |-- dependency_links.txt
| |-- entry_points.txt
| |-- not-zip-safe
| `-- top_level.txt
|-- setup.cfg
`-- setup.py
Para instalar este paquete ejecute el siguiente comando:
(python)$ cd mipaquetepython/mipaquetepython/
(python)$ vim app.py
Escriba un simple código que solicita un valor y luego lo muestra:
var = raw_input("Introduzca alguna frase: ")
print "Usted introdujo: ", var
Guarde los cambios en el archivo app.py, luego importe su aplicación app.py en el archivo __init__.py con el siguiente código fuente:
from mipaquetepython import app
Para comprobar su instalación ejecute el siguiente comando:
(python)$ python
Y realice una importación del paquete mipaquetepython ejecutando el siguiente comando:
>>> import mipaquetepython
Introduzca alguna frase: Esta cadena
Usted introdujo: Esta cadena
>>> exit()
De esta forma tienes creado un paquete Egg Python.
A continuación se muestran algunos esqueletos útiles:
Esqueletos de proyectos OpenERP.
Nota
OpenERP, es un sistema ERP y CRM programado con Python, de propósito general.
Esqueletos de proyectos Django:
Nota
Django, es un Framework Web Python, de propósito general.
Esqueletos de proyectos Pylons:
Nota
Pylons, es un Framework Web Python, de propósito general.
Esqueletos de proyectos CherryPy:
Nota
CherryPy, es un MicroFramework Web Python, de propósito general.
Esqueletos de proyectos Trac:
Nota
Trac, es un sistema de gestión de proyectos de desarrollos de software.
Si desea trabajar con algún proyecto de desarrollo basado en esqueletos o plantillas paster y Buildout simplemente seleccione cual esqueleto va a utilizar para su desarrollo y proceso a instalarlo con easy_install o PIP (como se explico anteriormente) y siga sus respectivas instrucciones para lograr con éxito la tarea deseada.
Para descargar el código fuente de este ejemplo ejecute el siguiente comando:
$ svn co https://svn.plone.org/svn/collective/spanishdocs/tags/0.1rc/src/mini-tutoriales/mipaquetepython/ mipaquetepython
El código fuente de este archivo esta hospedado en GitHub. Todos pueden actualizar y corregir errores en este documento con unos clic - sin necesidad de descargar.
Para mas información básica acerca de como actualizar este manual y referencia a sintaxis Sphinx, por favor consulte la guía Escribiendo y actualizando el manual.