Проблема с установкой пильный используя виртуальное окружение или постройка


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

однако, если я делаю " apt-get install python-imaging "или использую" pip-E test_pil install 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 в яйцо, а PIP нет. То же самое с buildbot, он использует яйца.

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

4 69

4 ответа:

версия PIL, упакованная на pypi (автором), несовместима с setuptools и, следовательно, не является easy_installable. Люди создали 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, вы должны использовать прямую ссылку на архив с исходными кодами исправленной версии; easy_install упорно все еще использует ссылку PyPI по URL-адресу find-links:

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

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

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

[versions]
PIL = 1.1.7

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

редактировать февраль 2013: просто используйте подушка и покончим с этим. :- ) Явно ожидая, что оригинальный пакет будет исправлен, не окупился.

использовать подушка: "дружелюбная" вилка PIL :-) Он предлагает:

  • полная совместимость setuptools
  • более быстрый цикл отпуска
  • нет изменений кода изображения, которые отличаются от PIL (т. е. он направлен на отслеживание всех изменений кода изображения PIL и не вносит никаких собственных изменений, не сообщая о них вверх по течению.)
  • двоичные файлы Windows

Если пил когда-нибудь сделает именно то, что делает подушка, то вилка умрет. Пока этого не произойдет, мы есть подушка.

отказ от ответственности: я автор вилки, и подушка была создана в основном для того, чтобы облегчить мою работу (хотя здорово видеть, что другие люди тоже ее используют).

EDIT: подушка 2.0.0 была выпущена 15 марта 2013 года. Он предлагает поддержку Python 3 и множество исправлений/улучшений ошибок. В то время как мы все еще пытаемся отслеживать изменения с восходящим PIL, (к сожалению или к счастью, в зависимости от того, как вы смотрите на это) подушка начала дрейфовать от Пил.

для Ubuntu я обнаружил, что мне нужно установить пакет заголовков C для моей версии python (2.7)

sudo apt-get install python2.7-dev

впоследствии, pip install pil работали.

на Windows, я установил PIL в virtualenv следующим образом:

установите PIL в свой глобальный сайт python-пакеты, выполнив.exe из: http://www.pythonware.com/products/pil/

затем, как "Сделай сам-э-э", скопируйте PIL.файл ПТГ и пил в каталог C:\Python25\Lib\site-packages на ваш сайт-пакеты виртуального окружения директорию. Да, python по-прежнему является" грязной " средой...