Символическая ссылка PIL из пакетов сайтов на Snow Leopard на virtualenv с не работающими пакетами - PullRequest
2 голосов
/ 24 мая 2011

У меня есть virtualenv с --no-site-packages, и у меня возникают всевозможные проблемы при установке PIL в virtualenv.Глобальный PIL работает отлично.Я пытаюсь заставить это работать, используя символическую ссылку на PIL в глобальных пакетах сайта, которые, как я знаю, работают.Я пытался:

ln -s /Library/Python/2.6/site-packages/PIL ~/my_virtualenv/lib/python2.6/site-packages/PIL

Когда я тогда пытаюсь import PIL из Python, это прекрасно работает.Однако я не могу запустить import Image, но это работает для системы Python.Я также попробовал просто скопировать каталог оптом, но там тоже нет кубиков.

Есть идеи, как это отладить?Как PIL экспортирует изображение в глобальное «пространство модуля»

Обновление: Благодаря стойкости @ Sentinel я смог решить эту проблему.Исследуя трассировку при установке PIL, я заметил несколько строк примерно так:

ld: warning: in /opt/local/lib/libjpeg.dylib, missing required architecture ppc in file
ld: warning: in /opt/local/lib/libz.dylib, missing required architecture ppc in file

Это все ошибки, которые остались, но изначально были другие, которые жаловались на то, что у меня не было libjpeg дляi386 или x64 архитектуры также.Итак, я сделал резервную копию, удалил libjpeg, который я установил в /usr/local/lib, и просто использовал macports для установки универсальных двоичных файлов (в основном следуя инструкциям в http://passingcuriosity.com/2009/installing-pil-on-mac-os-x-leopard/).. Выяснив, что именно это и стало причиной проблемы, libjpeg не скомпилировандля архитектуры, в которой я нуждался. После этого я установил библиотеку Imaging, а затем все заработало - никаких ссылок не требуется. И теперь я могу лечь спать, не думая об этом больше, даже если понадобилось 4 часа, чтобы выяснить это:)

1 Ответ

0 голосов
/ 20 августа 2011

Установите библиотеки разработки (jpeg, zip и т. Д.), Затем используйте virtualenv (добавив в него setuptools или pip по мере необходимости), чтобы установить PIL в самом virtualenv.

...