pil library for python python-imaging-library easy-install buildout pip

python - library - El problema con la instalación de PIL usando virtualenv o buildout



pip install pillow (4)

Cuando instalo PIL usando easy_install o buildout, se instala de tal manera, que debo hacer ''importar imagen'', no ''desde PIL import Image''.

Sin embargo, si hago "apt-get install python-imaging" o uso "pip -E test_pil install PIL", todo funciona bien.

Aquí hay ejemplos de cómo trato de instalar PIL usando virtualenv:

# virtualenv --no-site-packages test_pil # test_pil/bin/easy_install PIL # test_pil/bin/python Python 2.5.1 (r251:54863, Feb 6 2009, 19:02:12) [GCC 4.0.1 (Apple Inc. build 5465)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import PIL Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named PIL

Veo, ese paquete easy_install PIL en el huevo, y PIP no lo hace. Lo mismo con buildbot, usa huevos.

¿Cómo podría instalar PIL correctamente, usando easy_install o buildout?


En Windows, instalé PIL en un virtualenv de la siguiente manera:

Instale PIL en sus paquetes de sitios globales de python ejecutando el .exe desde: http://www.pythonware.com/products/pil/

Luego, como "hágalo usted mismo", copie el archivo PIL.pth y el directorio PIL en C: / Python25 / Lib / site-packages en su directorio virtualenv site-packages. Sí, Python sigue siendo un entorno "ensúciate las manos" ...


La versión de PIL empaquetada en pypi (por el autor) es incompatible con setuptools y, por lo tanto, no es easy_installable. La gente ha creado versiones easy_installable en otros lugares. Actualmente, debe especificar una URL de enlaces de búsqueda y usar pip obtener un buen paquete:

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

Al usar la pip install con el --no-index evita correr el riesgo de encontrar el original PyPI (no fijo) de PIL. Si easy_install usar easy_install , debe usar un enlace directo al tarball de origen de una versión corregida; easy_install todavía usa tercamente el enlace PyPI sobre la URL de enlaces de búsqueda:

easy_install http://dist.plone.org/thirdparty/PIL-1.1.7.tar.gz

Para incluir PIL en un buildout, especifique el huevo con el mismo pin de versión o use una sección de versiones:

[buildout] parts = find-links = http://dist.plone.org/thirdparty/ eggs = PIL versions = versions [versions] PIL = 1.1.7

Edición de marzo de 2011: las correcciones para abordar los problemas de empaquetado se han fusionado en el árbol de desarrollo de PIL ahora, por lo que esta solución puede quedar obsoleta pronto.

Edite febrero de 2013: simplemente use Pillow y termine con esto. :-) Está claro que esperar a que se arregle el paquete original no ha valido la pena.


Para Ubuntu, encontré que necesitaba instalar el paquete de encabezados C para mi versión de Python (2.7)

sudo apt-get install python2.7-dev

Luego, pip install pil funcionó.


Use Pillow: la horquilla PIL "amigable" :-) Ofrece:

  • Completa compatibilidad de herramientas de configuración
  • Un ciclo de lanzamiento más rápido
  • No hay cambios en el código de imagen que difieren de PIL (es decir, apunta a rastrear todos los cambios de código de imagen PIL y no realiza ninguno de sus cambios sin informarlos en sentido ascendente).
  • Binarios de Windows

Si PIL alguna vez hace exactamente lo que Pillow hace, entonces la horquilla morirá. Hasta que eso suceda, tenemos Pillow.

DESCARGO DE RESPONSABILIDAD : Yo soy el autor de la carátula, y Pillow fue creado principalmente para hacer mi trabajo más fácil (aunque es genial ver a otras personas usándolo también).

EDIT : Pillow 2.0.0 fue lanzado el 15 de marzo de 2013. Ofrece soporte para Python 3 y muchas correcciones de fallas / mejoras. Si bien aún intentamos rastrear los cambios con el PIL aguas arriba, (desafortunadamente o afortunadamente, dependiendo de cómo lo mires) Pillow ha comenzado a alejarse de PIL.