Python Django-没有名为PIL的模块
我需要在我的型号中使用Python Django-没有名为PIL的模块,python,django,python-imaging-library,Python,Django,Python Imaging Library,我需要在我的型号中使用ImageField,但似乎没有安装PIL: >>> from PIL import Image Traceback (most recent call last): File "<console>", line 1, in <module> ImportError: No module named PIL 这仍然是不可用的。如果您的问题是“为什么不支持JPEG、FREETYPE2等格式?”,我是否需要做些其他事情才能使用Im
ImageField
,但似乎没有安装PIL:
>>> from PIL import Image
Traceback (most recent call last):
File "<console>", line 1, in <module>
ImportError: No module named PIL
这仍然是不可用的。如果您的问题是“为什么不支持JPEG、FREETYPE2等格式?”,我是否需要做些其他事情才能使用ImageField
字段类型
安装PIL时,支持系统中已有的软件包
要支持JPEG和FREETYPE,请安装以下软件包:
sudo aptitude install libjpeg libjpeg-dev
sudo aptitude install libfreetype6 libfreetype6-dev
如果您刚刚在OSXLion上安装了它,并且第三方库无法从PIL导入映像,那么您只需执行ln-s PIL-OSX。。。PIL
答案:
您是否尝试过使用导入图像而不是从PIL导入图像?有时这就解决了问题
有时这也可能不起作用:
pip install pil
查看此信息:我知道这是一个已经回答过的老问题,但我找到了另一种解决方法,解决了服务器中的问题。
PIL软件包由easy_install安装并存储在“/usr/local/lib/python2.6/site packages/PIL-1.1.7-py2.6-linux-x86_64.egg”中。查看其内容,结果是:
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/
所以,一切都开始顺利了。我认为这就是问题所在,根据您使用的安装包,它将以不同的方式部署。;) 问题来自于包管理器如何设置(.py)PIL:
可能的解决办法:
- 将鸡蛋重命名为“PIL”
- 根据安装的软件包调整代码(并非总是可能的。)
- 像Jayme那样进行黑客攻击(本页其他地方)
- 使用不同的软件包进行安装
- 为您的安装手动配置setup.py
“重命名鸡蛋”在本页其他地方没有描述,因此我将在此处描述:
cd /usr/local/lib/python2.6/site-packages/
mv PIL-1.1.7-py2.6-linux-i686.egg PIL
这可能会令人惊讶,但实际上在许多情况下都可以使用。您是否尝试过使用导入图像而不是从PIL导入图像?有时候,这就解决了你使用哪种操作系统的问题?如果使用Mac OS X,那么可能是因为您安装的PIL不正确。我使用的是Ubuntu,Samueleimport Image
确实有效,谢谢。你能发布一个我可以验证的答案吗?另外,我想知道我从easy\u install
中得到的错误是什么,我认为,serverfault.com是一个更好的询问的地方。祝你好运。事实上,它与Django的联系比与Linux的联系要多。问题是他为什么不能导入PILIt,可能是试图导入PIL.Image或PIL.JPEGImage或其他东西。因此,安装所有相关模块和安装PIL可能会有所帮助!不,基本上我只是想在Django模型中使用ImageField
,Samuele Mattiuzzo给了我提示,但我正在等待他给出答案以进行验证。对我来说,这仍然是一个问题,因为第三方包“从PIL导入图像”
cd /usr/local/lib/python2.6/site-packages/
mv PIL-1.1.7-py2.6-linux-i686.egg PIL