Vous êtes sur la page 1sur 6

Distribute y pip

Este articulo explica como instalar paquetes Python con

Distribute

pip .

Qu es Distribute?

Sobre este artculo


Autor(es):
Correo(s):
Compatible
con:
Fecha:

Leonardo J. Caballero G.
leonardoc@plone.org
Python 2.4 o versiones
superiores
21 de Marzo de 2015

Distribute es un conjunto de mejoras en el mdulo de la biblioteca estndar


de Python: distutils (para Python 2.3.5 y hasta en la mayora de las
plataformas, plataformas de 64 bits requieren como mnimo de Python 2.4)
que le permite crear con ms facilidad la distribucin de paquetes de Python, en especial los que tienen las dependencias de otros
paquetes.
se cre porque el paquete Setuptools actualmente ya no se mantiene. Los paquetes de terceros, es probable que
requieran setuptools , que es proporcionado por el paquete Distribute . Por lo tanto, en cualquier momento si los paquetes dependen
del paquete Setuptools, Distribute intervendr para decir que ya ofrece el mdulo de setuptools .
Distribute

Estado actual del Empaquetamiento en Python


El mdulo

distutils

es parte de la librera estndar de Python y aun lo ser hasta la versin Python 3.3.

Nota: El mdulo

distutils

ser descontinuado en Python 3.3.

El mdulo distutils2 (note el nmero dos) tendr compatibilidad hacia atrs hasta Python 2.4 en adelante; y ser parte de la librera
estndar en Python 3.3.
El mdulo distutils provee las bases para empaquetar aplicaciones Python. Desafortunadamente, el mdulo distutils est plagado
de problemas, razn por la cual un pequeo grupo de programadores de Python estn trabajando en distutils2 . Sin embargo, hasta
que distutils2 este completado, se recomienda que en el desarrollador pueda usar tanto el paquete distutils o el paquete
Distribute para empaquetar software Python.
Al mismo tiempo, si un paquete requiere el paquete Setuptools, la recomendacin es que instale el paquete
provee una versin ms actualizada del paquete Setuptools que el paquete original de Setuptools.

Distribute ,

el cual

En el futuro distutils2 remplazar a setuptools y distutils , le cual tambin remover la necesidad de Distribute . El como del
estado anterior distutils ser removido de la librera estndar. Para ms informacin, por favor, consulte el Futuro del Empaquetado.

Nota: Ver el vdeo de la PyCon 2011 - Packaging, from Distutils to Distutils2, Packaging or installing a Python application
can be extremely painful por Tarek Ziad esta charla le sumergiera dentro de las nuevas caractersticas de Distutils2 y
explica como usted puede usarlo en su proyecto hoy para hacer ms fcil la vida para todo el mundo (usuarios,
administradores de paquetes de Sistemas operativos, programadores, etc.).
Para descargar el vdeo haga clic aqu (Tamao 294 mb) y para ver por vdeo Stream haga clic aqu.

Qu es pip?
pip es una herramienta para instalar y administrar Paquetes Python, como los que puede encontrar en el ndice de Paquetes de
Python - PyPI.
Truco: Esta herramienta es el remplazo para la famosa herramienta easy_install.
En su mayora, pip utiliza las mismas tcnicas para encontrar los paquetes, por lo que los paquetes que se instalaban usando la
herramienta easy_install tambin deben ser instalables con la herramienta pip .
Esto significa que usted puede utilizar con el siguiente comando:
$ pip install AlgunPaquete

En lugar del tradicional comando usado con la herramienta

easy_install

como se describe a continuacin:

$ easy_install AlgunPaquete

pip comparado con easy_install


pip

ofrece mejoras a la herramienta

easy_install .

Algunas de las mejoras son:

Todos los paquetes se descargan antes de iniciar la instalacin. Una instalacin parcialmente completada no se produce como
resultado.
Tiene cuidado de presentar una salida til en la consola.
Las razones de las acciones de instalacin se le aplica un seguimiento. Por ejemplo, si un paquete se est instalando, pip
sigue la pista de por qu ese paquete era necesario.
Los mensajes de error debe ser tiles.
El cdigo fuente es relativamente conciso y coherente, por lo que es ms fcil de usar mediante programacin.
Ofrece soporte nativo para otros sistemas de control de versiones (Git, Mercurial y Bazaar)
Tiene un mecanismo de desinstalacin de paquetes.
Fcil de definir conjuntos de requerimientos y reproducir de forma fiable un conjunto de paquetes.
Los paquetes no tienen que ser instalados como paquetes Egg, que pueden ser instalados en forma plana (mientras cuida la
metadata de paquetes Egg).

pip no hace todo lo que se easy_install. En concreto:


No se puede instalar a partir de paquetes Egg. Slo se instala desde el cdigo fuente. (En el futuro ser bueno si se pudiera
instalar los binarios de Windows EXE o MSI -.. pero instalar paquetes binarios para otras plataformas no es una prioridad).
No entiendeenla
seccin SetupTools Extras (como package[test]). Esto podra ser agregado eventualmente.
cum to
Editar este do
Es incompatible con algunos paquetes que tienen muchas personalizaciones distutils o setuptools en sus archivos setup.py .

Instrucciones de Instalacin
Siempre existen ms de dos formas de instalar paquetes Python con

Distribute

pip

;)

Requerimientos previos
Es necesario que instale ciertas dependencias en su sistema operativo como las que se muestran a continuacin:
# aptitude install build-essential python-dev python-setuptools

Instalacin con Paquetes Egg


Para instalar

Distribute

ejecute el siguiente comando:

# easy_install -U distribute

Tambin para instalar

pip

ejecute el siguiente comando:

# easy_install -U pip

Instalacin en sistemas Debian


La instalacin en sistemas Debian es recomendable que instale ciertas dependencias en su sistema operativo como las que se
muestran a continuacin:
# aptitude install build-essential python-dev python-pip

Ejemplos de uso de pip


La herramienta

pip

ofrece varias formas de uso, para instalar los paquetes de diversas fuentes:

Truco: Para poder utilizar el pip , primero debe instalar setuptools o distribute . Si utiliza virtualenv, una copia del
ser automticamente instalados en cada entorno virtual que usted crea.
se puede complementar con
Egg.
pip

virtualenv ,

pip

y se recomienda que lo utilice para aislar a la instalacin de los paquetes

Ejemplo 1. Instalar un paquete su nombre en su versin ms reciente, buscando en PyPI:


$ pip install SQLObject

Ejemplo 2. Instalar o actualizar un paquete por nombre y versin utilizando una direccin URL donde encontradas en una pgina de
descargas:
$ pip install -f http://dist.plone.org/packages/ 'Pillow==1.7.3'

Ejemplo 3. Instalar o actualizar un paquete desde su propio replica del repositorio PyPI o su repositorio de paquetes Egg privados:
$ pip install -i http://pypi.ejemplo.com/simple SQLObject

Ejemplo 4. Descargar e instalar una distribucin de cdigo fuente:


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

Ejemplo 5. Instalar un paquete con una versin especifica:


cumento
Editar este do

$ pip install 'ZopeSkel==2.21.2'

Ejemplo 6. Instalar todas las dependencias de su proyecto Python usando un archivo de dependencias requeridas para instalar:
$ pip install -r ./requirements.txt

Un ejemplo del archivo

requirements.txt

puede ser el siguiente:

python-ldap
django
buildbot
buildbot-slave
PyYAML
south

Ejemplo 7. Actualizar un paquete ya instalado con la versin ms reciente de PyPI:


$ pip install --upgrade PyProtocols

Ejemplo 8. Para usar realizar bsquedas de paquetes disponibles para instalar desde los repositorios por definidos:
$ pip search plonetheme-*

Ejemplo 9. Para remover un paquete Egg


$ pip uninstall SQLObject

Para ms informacin consulte la ayuda disponible por que paquete

pip

ejecutando el siguiente comando:

$ pip help

Distribute en zc.buildout
Puede usar Distribute en zc.buildout, habilitando el uso de este por medio de un parmetro adicional en su archivo
siguiente manera:

bootstrap.py

de la

$ python bootstrap.py --distribute

pip en zc.buildout
Existen varias estrategias para integrar

pip

en zc.buildout, a continuacin se describen algunas formas:

gp.recipe.pip, ese paquete es un recipe de zc.buildout el cual permite instalar Paquete Python usando
un ejemplo de configuracin zc.buildout con este rcipe se puede usar:

pip .

A continuacin se explica

1. El rcipe agrega un virtualenv en el directorio parts/ de su instalacin buildout, entonces genera este binario para generar un
scripts ejecutable Python. As que tienes un rea de pruebas limpia de instalaciones previas.
2. El rcipe esta basado en zc.recipe.egg#scripts para que pueda compartir sus paquetes Egg entre buildouts como de
costumbre.
3. Por supuesto, usted puede instalar algunos archivos .pybundle.
4. Usted puede construir paquetes desde un repositorio SVN con la opcin editables .
5. Cada linea encontrada en la opcin install es la ltima parte de un comando de pip . Esta le permitir a usted construir
paquetes Egg con sus dependencias. Por ejemplo, instalar la librera lxml en un rea de prueba pura, sin tener instalado
libxml2 y libxslt , usted necesita tener instalado Cython y con esta lnea de comando python setup.py install --static-deps
para instalar para instalar el paquete lxml.
A continuacin un ejemplo de configuracin zc.buildout:
[buildout]
# the cache dir is used by buildout & pip
download-cache = download
parts = eggs
ento

cum
[eggs]
Editar este do
recipe = gp.recipe.pip

# eggs installed by pip (also add the Deliverance bundle)


install =
Cython
--install-option=--static-deps lxml==2.2alpha1
http://deliverance.openplans.org/dist/Deliverance-snapshotlatest.pybundle
# eggs installed by zc.recipe.egg
eggs =
Paste
pyquery

Otra forma de usar pip es a travs de una extensin zc.buildout llamada gp.vcsdevelop, para hacer checkout de paquetes Egg desde
varios sistemas de control de versiones. A continuacin se muestra un ejemplo de configuracin zc.buildout con esta extensin:
[buildout]
...
extensions = gp.vcsdevelop
develop-dir = ./requirements
requirements = requirements.txt
parts = eggs
...
[eggs]
recipe = zc.recipe.egg
eggs = ${buildout:requirements-eggs}
interpreter = python
...

Un ejemplo del archivo

requirements.txt

puede ser el siguiente:

ConfigObject>=1.0
-e git+git://github.com/bearstech/PloneTerminal.git#egg=PloneTerminal

Referencias
El articulo Distribute y pip desde la comunidad Plone Venezuela.
Installing the Package Tools.
pip v1.0.2 documentation.
Combine zc.buildout and pip benefits.

cumento
Editar este do

0 Comentarios

Documentacin de Plone en Espaol

Compartir

Recomendar 1

Acceder

Ordenar por los mejores

Start the discussion

Be the first to comment.

TAMBIN EN DOCUMENTACIN DE PLONE EN ESPAOL

Configurar Zope y Plone como un demonio / servicio

Zope Object Database - ZODB

2 comentarios hace 2 aos

3 comentarios hace 2 aos

Leonardo J. Caballero G. Carlos que versin de Canaima

Jesus A. Linares B. gracias por el apoyo, probare eso,

usas?

aunque estuve leyendo el articulo "Buildout para instalar todas


las partes de un sitio" [0] pero me da una duda y ademas error,

Ejecutando Zope y Plone con Servidor Web Nginx

3. Cuentas y roles de usuarios en Plone

4 comentarios hace 2 aos

2 comentarios hace 2 aos

Leonardo J. Caballero G. Me alegra que resolvieras :)

Leonardo J. Caballero G. Interesante punto sabes que el

manual usuario actual de Plone no tiene documentado eso :O


mas tentativamente puedes ver esto http://plone-worfklow-

Suscrbete

Aade Disqus a tu sitio web Add Disqus Aadir

cumento
Editar este do

Privacidad

Vous aimerez peut-être aussi