Quantcast
Channel: Planet Plone - Where Developers And Integrators Write
Viewing all articles
Browse latest Browse all 3535

macagua:~/public/html#: Instalación de paquetes Python con setuptools y EasyInstall

$
0
0

Este articulo explica como instalar paquetes Python con setuptools y EasyInstall.

Introducción

Python

Python

Python, Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y multiplataforma.

¿Qué es Setuptools?

Setuptools, es una colección de mejoras para el módulo distutils de Python, que permiten a un desarrollador construir y distribuir Paquetes Python de forma sencilla, en especial cuando dependen de otros Paquetes Python para funcionar.

Entre sus características principales están:

  • Por defecto, utiliza PyPI para buscar los paquetes, lo que permite acceso inmediato e instalación transparente de miles de paquetes.
  • Permite crear paquetes Egg Python, que son Paquetes Python empaquetados en un sólo archivo para su distribución.
  • Incluye archivos de configuración y todos los archivos que forman parte del directorio de trabajo, sin necesidad de listarlos individualmente o crear archivos de manifiesto.

¿Qué es EasyInstall?

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, sistema de control de versiones como SubversionGitMercurial, entre otros o desde forjas como SourceForge.netLaunchpad.netGithub.comBitbucket.org, etc.

Instrucciones de Instalación

Siempre existen más de dos formas de instalar Paquetes Python con setuptools y easy_install;)

Instalación manual

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.

Instalación en sistemas Debian

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.

Ejemplos de uso

El programa easy_install ofrece varias formas de uso, para instalar los paquetes de diversas fuentes, como se describe a continuación con los siguientes ejemplos:

Consejo: Para poder utilizar el easy_install, primero debe instalar setuptools. Si utiliza virtualenv, una copia del easy_install será automáticamente instalados en cada entorno virtual que usted crea.

easy_install se puede complementar con virtualenv, y se recomienda que lo utilice para aislar a la instalación de los paquetes Egg.

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 su repositorio de paquetes Egg privado:

$ easy_install -i http://pypi.ejemplo.com/simple SQLObject

Ejemplo 4. Descargar e instalar una distribución de código fuente:

$ easy_install http://ejemplo.com/ruta/a/MiPaquete-1.2.3.tgz

Ejemplo 5. Instalar un paquete Egg ya descargado:

$ easy_install ./Descargas/OtroPaquete-3.2.1-py2.7.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

Utilización con Zope/Plone

El mecanismo más moderno para la instalación de distribuciones de Zope y Plone, llamado buildout, formalmente zc.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==2.21.2"

Una vez instalado, ofrece una buena variedad de esqueletos para diversos tipos de proyectos, como temas visuales, componentes de Plone, buildouts, tipos de contenido con Archetypes o entre otros mas.

Se utiliza mediante el comando de sistema paster, pasando la opción create para crear un proyecto y la opción --list-templates ver las diversas plantillas de proyectos disponibles para crear, como se muestra a continuación:

$ 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

Para mas información de las opciones disponibles de ZopeSkel, ejecute el siguiente comando:

$ paster --help
  Usage: paster [paster_options] COMMAND [command_options]

  Options:
    --version         show program's version number and exit
    --plugin=PLUGINS  Add a plugin to the list of commands (plugins are Egg
                      specs; will also require() the Egg)
    -h, --help        Show this help message

  Commands:
    create       Create the file layout for a Python distribution
    help         Display help
    make-config  Install a package and create a fresh config file/directory
    points       Show information about entry points
    post         Run a request for the described application
    request      Run a request for the described application
    serve        Serve the described application
    setup-app    Setup an application, given a config file

Y así de esta forma ¡usted ahora puede instalar paquetes Python con setuptools y EasyInstall!

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.

Referencia



Viewing all articles
Browse latest Browse all 3535

Trending Articles