Question

Lors de l'installation à l'aide PIL easy_install ou Buildout il installe de telle sorte, que je dois faire 'Image import', pas 'de l'image d'importation PIL.

Cependant, si je fais "apt-get install python-imaging" ou utiliser "pépin -E test_pil installer PIL", tout va bien de travail.

Voici des exemples de la façon dont j'essaie d'installer PIL en utilisant 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

Je vois que easy_install paquet PIL dans l'œuf, et PIP ne fonctionne pas. Même chose avec buildbot, il utilise des œufs.

Comment pourrais-je installer PIL correctement, en utilisant easy_install ou buildout?

Était-ce utile?

La solution

La version PIL emballée sur pypi (par l'auteur) est incompatible avec setuptools et donc pas easy_installable. Les gens ont créé des versions easy_installable ailleurs. À l'heure actuelle, vous devez spécifier une FIND-liens URL et utilisez pip obtenir un bon paquet:

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

En utilisant pip install avec le --no-index vous évitez de courir le risque de trouver le PyPI (non fixe) d'origine de PIL. Si vous deviez utiliser easy_install, vous devez utiliser un lien direct vers l'archive source d'une version corrigée; easy_install obstinément utilise encore le lien PyPI sur l'URL find-liens:

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

Pour inclure PIL dans un buildout, soit indiquer l'œuf avec la même broche de version ou utiliser une section versions:

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

[versions]
PIL = 1.1.7

Modifier Mars 2011: Corrections pour résoudre les problèmes d'emballage ont été fusionnées en arbre de développement de PIL maintenant cette solution de contournement pourrait bientôt être obsolète.

Modifier Février 2013: Il suffit d'utiliser oreiller et être fait avec elle. :-) Il est clair que l'attente pour l'emballage d'origine à fixer n'a pas payé.

Autres conseils

Utilisez Pillow: le "amical" fourchette PIL :-) Il propose:

  • Compatibilité setuptools complet
  • cycle de sortie plus rapide
  • Aucun changement de code d'image qui diffèrent de PIL (à savoir qu'elle vise à suivre tous les changements de code d'image PIL et faire aucun de ses propres changements sans les signaler en amont.)
  • Les binaires Windows

Si PIL ne jamais exactement ce que fait oreiller, la fourchette va mourir. Jusqu'à ce que cela arrive, nous avons Pillow.

AVERTISSEMENT :. Je suis l'auteur de la fourche et oreiller été créé principalement pour rendre mon travail plus facile (même si il est bon de voir d'autres personnes de l'utiliser aussi)

EDIT : Pillow 2.0.0 a été libéré le 15 Mars 2013. Il offre un support Python 3 et de nombreuses corrections / améliorations de bugs. Alors que nous essayons toujours de suivre l'évolution avec PIL en amont, (malheureusement ou heureusement, selon la façon dont vous regardez) Oreiller a commencé à se éloigner de PIL.

Pour Ubuntu, je trouve que je devais installer le paquet en-têtes C pour ma version python (2.7)

sudo apt-get install python2.7-dev

Ensuite, pip install pil a travaillé.

Sous Windows, j'ai installé PIL dans un virtualenv comme suit:

Installer PIL dans votre python mondial site-packages en exécutant le fichier .exe à partir de: http://www.pythonware.com/products/pil/

Alors, en tant que "do it yourself-er", copiez le fichier et le répertoire PIL.pth PIL dans C: \ Python25 \ Lib \ site-packages à votre virtualenv répertoire site-packages. Ouais, python est encore un environnement « se salir les mains » ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top