Проблема с установкой пильный используя виртуальное окружение или постройка
когда я устанавливаю 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 ответа:
версия 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 по-прежнему является" грязной " средой...