Проблема с установкой PIL, использующего virtualenv или buildout

Когда я устанавливаю PIL, использующий easy_install или buildout, он устанавливает таким способом, что я должен сделать 'Изображение импорта', не 'из Изображения импорта PIL'.

Однако, если я делаю "склонный - получают обработку изображений Python установки", или использование "побеждают-E test_pil, устанавливают PIL", все хорошо работают.

Вот примеры как я пытающийся установить PIL, использующий 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

Я вижу, это, easy_install упаковывают PIL в Яйцо, и ЗЕРНЫШКО не делает. То же самое с buildbot, это использует яйца.

Как я мог установить PIL правильно, с помощью easy_install или buildout?

70
задан Alexander Artemenko 21 March 2010 в 00:19
поделиться

1 ответ

Версия PIL, упакованная на pypi (автором), несовместима с setuptools и поэтому не является easy_installable. Люди создали легко_устанавливаемые версии в других местах. В настоящее время вам нужно указать URL find-links и использовать pip для получения хорошего пакета:

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

Используя pip install с --no-index, вы избегаете риска найти PyPI (неисправленный) оригинал PIL. Если вы будете использовать easy_install, вы должны использовать прямую ссылку на исходный tarball исправленной версии; easy_install упорно продолжает использовать ссылку PyPI вместо URL find-links:

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

Чтобы включить PIL в сборку, либо укажите яйцо с тем же выводом версии, либо используйте раздел versions:

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

[versions]
PIL = 1.1.7

Правка марта 2011: Исправления для решения проблем с упаковкой были внесены в дерево разработки PIL, так что этот обходной путь скоро может быть устаревшим.

Редактировать февраль 2013: Просто используйте Pillow и покончите с этим. :-) Очевидно, ожидание исправления оригинального пакета не окупилось.

96
ответ дан 24 November 2019 в 13:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: