Я установил Python 2.7 вместе с Python 2.4, как описано здесь. При выполнении тестов через терминал Mac OSX, подключающихся к Серверу, чтобы подтвердить, что установка работает, я выполняю этот тест:
import Image
img = Image.open("/directory/image.jpg")
img.load()
print img
Результат:
<PixelAccess object at 0x2b97d4c25110>
<JpegImagePlugin.JpegImageFile image mode=RGB size=75x75 at 0xFEF4050>
Однако при выполнении этого с помощью PHP exec()
или с помощью кода запуска Coda для Coda я получаю сообщение об ошибке:
ImportError: No module named Image
Я также пытался использовать from PIL import Image
которое не имеет значения. Еще кое-что следует отметить, что когда я проверяю, что поддержка там, я получаю это, что указывает на то, что доступна правильная поддержка изображений:
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
Вопрос: Есть идеи о том, как это исправить?
@stwhite Я предлагаю вам использовать virtualenv (http://www.virtualenv.org/en/latest/index.html) для нескольких проектов, чтобы жить в их собственных средах.
Полезная оболочка для virtualenv http://www.doughellmann.com/projects/virtualenvwrapper/
Мои собственные проекты живут в их собственных virtualenvs и действительно потрясающе.
Вот вопрос о создании virtualenv с конкретной версией python. Используйте другую версию Python с virtualenv
Примечание. Возможно, у вас возникнут проблемы при установке PIL в virtualenv
Решение
First install XCode with gcc support,
deactivate <virtualenv_name>
cd ../ (virtualenvs root)
pip install -E <virtualenv_name/> PIL
Надеюсь, это сработает и для вас,
Благодаря,
султан
Убедитесь, что ваш PYTHONPATH корректен при работе через вызов exec().
Import sys
print sys.path
sys.path.append ("<path of Image>")
Вы также можете загружать модуль динамически во время выполнения, чтобы обеспечить его доступность при условии, что он доступен в стандартном расположении.
PHP работает с неправильной версией Python. Укажите полный путь к исполняемому файлу python
.
import sys
затем print sys.version_info
который возвращает 2.7.1: sys.version_info(major=2, minor=7, micro=1, releaselevel='final', serial=0)
import PIL.Image
и т. Д. Вместо глупогоimport Image
, который PIL заставляет вас делать. Я сомневаюсь, что это решит проблему импорта, но это не повредит.