Использование PIL на нескольких системах

ища рекомендации и рекомендации по лучшей практике со следующей ситуацией. У меня есть приложение python, которое запускается из источника и включает все зависимости. При использовании PIL возникают некоторые проблемы. Различные версии python нуждаются в разных источниках PIL, а для 64-битной и 32-разрядной версий нужна другая версия.

Мы решили, что хотим поддержать:

Python 2.4 64 бит

Python 2.4 32 бит

Python 2.7 64 бит

Python 2.7 32 бит

Мне нужно будет найти необходимые исходные пакеты и включить их все. Вопрос в том, что это лучший способ их импортировать? Я проверяю версию python и версию ОС и импортирую различные версии PIL на основе этого (можете ли вы, если импортируете материал?) Или я могу импортировать один раз для всех?

Надеюсь, что все имеет смысл. благодаря

2 Solutions collect form web for “Использование PIL на нескольких системах”

Я отвечу в противоположном направлении от ответа @ alan и не рекомендую вам распространять ваши 4 жестко закодированные среды.

Если вы распространяете исходный код напрямую, вы не должны включать в себя заранее созданные зависимости. Создайте файл setup.py для загрузки и установки зависимостей. Или подумайте о том, чтобы упаковать приложение в автономный исполняемый файл

Ваш пакет может содержать файлы настроек для PIL локально, поэтому загрузка не потребуется, но они должны быть созданы фактическим конечным пользователем в соответствии с их архитектурой. Нет смысла пытаться сделать ваше приложение все это и указать на один из многих предварительно скомпилированных пакетов.

Вы также можете взглянуть на py2exe, py2app и pyinstaller, если хотите идти по пути создания самопроизвольных пакетов для разных систем, которые содержат всю их среду.

Вы слышали о virtualenv? http://pypi.python.org/pypi/virtualenv

Из ваших заявленных требований я считаю, что он будет делать то, что вам нужно. Он был создан специально для решения проблемы установки и поддержки различных сред для разных версий Python и различных пакетов, установленных для каждой версии.

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

Во всяком случае, как только вы настроите свои четыре среды, вы просто активируете среду, а инструкция import PIL в коде Python, запущенная в этой среде, получит соответствующую библиотеку.

  • numpy -> Проблема типа PIL int
  • Python: модуль _imagingft C не установлен
  • Графический 2D-массив
  • PIL говорит, что у него есть «поддержка доступна», но при использовании IOError при сохранении файлов
  • Как читать изображение из StringIO в PIL в python
  • PIL - libjpeg.so.8: невозможно открыть файл общего объекта: такой файл или каталог отсутствует
  • Как закрыть изображение, показанное пользователю с помощью библиотеки изображений Python?
  • Сохранение изображения с помощью PIL
  • Python - лучший язык программирования в мире.