Autor(es): | Carlos de la Guardia, Leonardo J. Caballero G. |
---|---|
Correo(s): | carlos.delaguardia@gmail.com, leonardocaballero@gmail.com |
Lanzamiento: | 0.1 |
Fecha: | 16 de Feb del 2013 |
Setuptools, es una colección de mejoras para el módulo distutils de Python, que permiten a un desarrollador construir y distribuir paquetes de Python de forma sencilla, en especial cuando dependen de otros paquetes de Python para funcionar.
Entre sus características principales están:
easy_install, es una herramienta que se basa en Setuptools para automáticamente encontrar y descargar desde internet las dependencias, para instalarlas o actualizarlas al momento de construir, que además esta herramienta es capaz de bajar de internet las dependencias utilizando HTTP, FTP, Subversion o SourceForge.
Siempre existen más de dos formas de instalar paquetes en Python setuptools y easy_install ;)
Para ambas es recomendable que instale ciertas dependencias en su sistema operativo como las que se muestran a continuación:
# aptitude install build-essential python-dev
La instalación es muy sencilla, solo se necesita bajar de internet el archivo ez_setup.py y ejecutarlo con el Python que se desea utilizar, con los siguientes comandos:
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
Esto instalará un programa llamado easy_install junto a los demás ejecutables de Python.
La instalación en sistemas Debian es recomendable que instale ciertas dependencias en su sistema operativo como las que se muestran a continuación:
# aptitude install build-essential python-dev python-setuptools
Esto instalará un programa llamado easy_install junto a los demás ejecutables de Python.
El programa easy_install ofrece varias formas de uso, para instalar los paquetes de diversas fuentes.
Ejemplo 1. Instalar un paquete por nombre, buscando en PyPI la versión más reciente:
$ easy_install SQLObject
Ejemplo 2. Instalar o actualizar un paquete por nombre y versión utilizando los enlaces encontrados en una “página de descargas”:
$ easy_install -f http://pythonpaste.org/package_index.html SQLObject
Ejemplo 3. Instalar o actualizar un paquete desde su propio replica del repositorio PyPI o tu repositorio de paquetes Egg privado:
$ pip install -i http://pypi.misitio.org/simple SQLObject
Ejemplo 4. Descargar e instalar una distribución de código fuente:
$ easy_install http://example.com/path/to/MyPackage-1.2.3.tgz
Ejemplo 5. Instalar un Python .egg ya descargado:
$ easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg
Ejemplo 6. Instalar un paquete con una versión especifica:
$ easy_install "ZopeSkel==2.21.2"
Ejemplo 7. Actualizar un paquete ya instalado con la versión más reciente de PyPI:
$ easy_install --upgrade PyProtocols
Para más información consulte la ayuda disponible por que paquete easy_install ejecutando el siguiente comando:
$ easy_install --help
El mecanismo más moderno para la instalación de distribuciones de Zope y Plone, llamado buildout, hace uso de easy_install para obtener e instalar todas las dependencias. Adicionalmente, existe una herramienta llamada ZopeSkel que permite crear fácilmente “esqueletos” de distintos tipos de proyectos de Zope y Plone, mediante una herramienta llamada paster y un sistema de plantillas. Es recomendado instalar esta última herramienta para proyectos nuevos, de la siguiente manera:
$ easy_install ZopeSkel
Una vez instalado, ZopeSkel se utiliza mediante el comando de sistema paster, pasando la opción create. ZopeSkel ofrece una buena variedad de esqueletos para diversos tipos de proyectos, como temas visuales, componentes de Plone, buildouts o tipos de contenido con Archetypes. Para ver las opciones disponibles, se utiliza la opción --list-templates:
$ paster create --list-templates
Available templates:
archetype: A Plone project that uses Archetypes
basic_namespace: A project with a namespace package
basic_package: A basic setuptools-enabled package
basic_zope: A Zope project
kss_plugin: A KSS plugin template
nested_namespace: A project with two nested namespaces.
paste_deploy: A web application deployed through paste.deploy
plone: A Plone project
plone2.5_buildout: A buildout for Plone 2.5 projects
plone2.5_theme: A Theme for Plone 2.5
plone2_theme: A Theme Product for Plone 2.1 & Plone 2.5
plone3_buildout: A buildout for Plone 3 projects
plone3_portlet: A Plone 3 portlet
plone3_theme: A Theme for Plone 3.0
plone_app: A Plone App project
plone_hosting: Plone hosting: buildout with ZEO and any Plone version
plone_pas: A Plone PAS project
recipe: A recipe project for zc.buildout
silva_buildout: A buildout for Silva projects
zope_app: Package that contains a Zope application
zope_deploy: (Paste) deployment of a Zope application
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.