Django-нет модуля с именем PIL
мне нужно использовать ImageField
в моих моделях и PIL кажется, не установлен:
>>> from PIL import Image
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named PIL
однако я вижу python-imaging установлен в синаптической. Когда я пытаюсь легко установить его, я получаю:
$ sudo easy_install-2.7 PIL
[sudo] password for glide:
Searching for PIL
Reading http://pypi.python.org/simple/PIL/
Reading http://www.pythonware.com/products/pil
Reading http://effbot.org/zone/pil-changes-115.htm
Reading http://effbot.org/downloads/#Imaging
Best match: PIL 1.1.7
Downloading http://effbot.org/media/downloads/PIL-1.1.7.tar.gz
Processing PIL-1.1.7.tar.gz
Running PIL-1.1.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-HvRSQr/PIL-1.1.7/egg-dist-tmp-nDJHmU
WARNING: '' not a valid package name; please use only.-separated package names in setup.py
_imaging.c:3017: warning: initialization from incompatible pointer type
_imaging.c:3077: warning: initialization from incompatible pointer type
libImaging/Quant.c: In function ‘rehash_collide’:
libImaging/Quant.c:154: warning: cast to pointer from integer of different size
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.1 (r271:86832, May 2 2011, 14:22:06)
[GCC 4.4.3]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
--- ZLIB (PNG/ZIP) support available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.
To check the build, run the selftest.py script.
zip_safe flag not set; analyzing archive contents...
Image: module references __file__
Adding PIL 1.1.7 to easy-install.pth file
Installing pilconvert.py script to /usr/local/bin
Installing pilprint.py script to /usr/local/bin
Installing pildriver.py script to /usr/local/bin
Installing pilfont.py script to /usr/local/bin
Installing pilfile.py script to /usr/local/bin
Installed /usr/local/lib/python2.7/site-packages/PIL-1.1.7-py2.7-linux-x86_64.egg
Processing dependencies for PIL
Finished processing dependencies for PIL
и это все еще не используется. Должен ли я сделать что-то еще, чтобы иметь возможность использовать ImageField
тип поля ?
5 ответов
Самуэле Mattiuzzo Я ответ:
вы пробовали импортировать изображение вместо PIL import Image? иногда это решает проблему
иногда это может не сработать:
pip install pil
зацени вот это : ошибка gcc при попытке установить PIL в Python2.6 virtualenv
Я знаю, что это старый вопрос, на который уже ответили, но я нашел другой способ его решения, который исправил проблемы на моем сервере. Пакет PIL был установлен easy_install и сохранен в "/usr/local/lib/python2.6 / site-packages / PIL-1.1.7-py2.6-linux-x86_64.яйцо." Глядя на его содержимое, получилось:
ArgImagePlugin.py FpxImagePlugin.py ImageColor.pyc ImagePalette.py _imagingmath.so PaletteFile.pyc SunImagePlugin.py
ArgImagePlugin.pyc FpxImagePlugin.pyc ImageDraw2.py ImagePalette.pyc _imaging.py PalmImagePlugin.py SunImagePlugin.pyc
BdfFontFile.py GbrImagePlugin.py ImageDraw2.pyc ImagePath.py _imaging.pyc PalmImagePlugin.pyc TarIO.py
BdfFontFile.pyc GbrImagePlugin.pyc ImageDraw.py ImagePath.pyc _imaging.so PcdImagePlugin.py TarIO.pyc
BmpImagePlugin.py GdImageFile.py ImageDraw.pyc Image.py ImImagePlugin.py PcdImagePlugin.pyc TgaImagePlugin.py
BmpImagePlugin.pyc GdImageFile.pyc ImageEnhance.py Image.pyc ImImagePlugin.pyc PcfFontFile.py TgaImagePlugin.pyc
BufrStubImagePlugin.py GifImagePlugin.py ImageEnhance.pyc ImageQt.py ImtImagePlugin.py PcfFontFile.pyc TiffImagePlugin.py
BufrStubImagePlugin.pyc GifImagePlugin.pyc ImageFileIO.py ImageQt.pyc ImtImagePlugin.pyc PcxImagePlugin.py TiffImagePlugin.pyc
ContainerIO.py GimpGradientFile.py ImageFileIO.pyc ImageSequence.py __init__.py PcxImagePlugin.pyc TiffTags.py
ContainerIO.pyc GimpGradientFile.pyc ImageFile.py ImageSequence.pyc __init__.pyc PdfImagePlugin.py TiffTags.pyc
CurImagePlugin.py GimpPaletteFile.py ImageFile.pyc ImageShow.py IptcImagePlugin.py PdfImagePlugin.pyc WalImageFile.py
CurImagePlugin.pyc GimpPaletteFile.pyc ImageFilter.py ImageShow.pyc IptcImagePlugin.pyc PixarImagePlugin.py WalImageFile.pyc
DcxImagePlugin.py GribStubImagePlugin.py ImageFilter.pyc ImageStat.py JpegImagePlugin.py PixarImagePlugin.pyc WmfImagePlugin.py
DcxImagePlugin.pyc GribStubImagePlugin.pyc ImageFont.py ImageStat.pyc JpegImagePlugin.pyc PngImagePlugin.py WmfImagePlugin.pyc
EGG-INFO Hdf5StubImagePlugin.py ImageFont.pyc ImageTk.py McIdasImagePlugin.py PngImagePlugin.pyc XbmImagePlugin.py
EpsImagePlugin.py Hdf5StubImagePlugin.pyc ImageGL.py ImageTk.pyc McIdasImagePlugin.pyc PpmImagePlugin.py XbmImagePlugin.pyc
EpsImagePlugin.pyc IcnsImagePlugin.py ImageGL.pyc ImageTransform.py MicImagePlugin.py PpmImagePlugin.pyc XpmImagePlugin.py
ExifTags.py IcnsImagePlugin.pyc ImageGrab.py ImageTransform.pyc MicImagePlugin.pyc PsdImagePlugin.py XpmImagePlugin.pyc
ExifTags.pyc IcoImagePlugin.py ImageGrab.pyc ImageWin.py MpegImagePlugin.py PsdImagePlugin.pyc XVThumbImagePlugin.py
FitsStubImagePlugin.py IcoImagePlugin.pyc ImageMath.py ImageWin.pyc MpegImagePlugin.pyc PSDraw.py XVThumbImagePlugin.pyc
FitsStubImagePlugin.pyc ImageChops.py ImageMath.pyc _imagingft.py MspImagePlugin.py PSDraw.pyc
FliImagePlugin.py ImageChops.pyc ImageMode.py _imagingft.pyc MspImagePlugin.pyc SgiImagePlugin.py
FliImagePlugin.pyc ImageCms.py ImageMode.pyc _imagingft.so OleFileIO.py SgiImagePlugin.pyc
FontFile.py ImageCms.pyc ImageOps.py _imagingmath.py OleFileIO.pyc SpiderImagePlugin.py
FontFile.pyc ImageColor.py ImageOps.pyc _imagingmath.pyc PaletteFile.py SpiderImagePlugin.pyc
хорошо. Нет модуля PIL для импорта. Итак, я сделал грязный трюк. Сделал папку под названием PIL и скопировал все эти файлы внутри нее.
mkdir PIL
cp * PIL/
Так, все начало работать нормально. Я думаю, что это проблема, в зависимости от используемого пакета установки, он будет развернут по-другому. ;)
Если ваш вопрос: "почему поддержка JPEG, FREETYPE2 и т. д. недоступна?",
PIL устанавливается с поддержкой пакетов, которые уже присутствуют в вашей системе во время установки PIL.
для поддержки JPEG и FREETYPE установите следующие пакеты:
sudo aptitude install libjpeg libjpeg-dev
sudo aptitude install libfreetype6 libfreetype6-dev
Если вы только что установили его на OS X Lion и третья сторона lib не может from PIL import image
, тогда вы можете просто сделать ln -s PIL-OSX... PIL
проблема связана с настройкой менеджеров пакетов(.py) PIL:
https://mail.python.org/pipermail/image-sig/2010-August/006480.html
возможные решения:
- переименуйте яйцо в " PIL."
- настройте свой код на установленный пакет (не всегда возможно.)
- выполните хак, как Джейм сделал (в другом месте на этой странице.)
- используйте другой пакет для установка.
- настройка вручную setup.py для вашей установки.
"переименовать яйцо" не описано в другом месте на этой странице, поэтому я опишу его здесь:
cd /usr/local/lib/python2.6/site-packages/
mv PIL-1.1.7-py2.6-linux-i686.egg PIL
Это может быть удивительно, но это действительно работает во многих ситуациях.