雪豹、Django和PIL的问题

5

我在将Django和PIL升级到Snow Leopard后遇到了一些问题。

我已经安装了freetype、libjpeg和PIL,但是PIL告诉我:

--- TKINTER support ok
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE2 support ok

但是,当我尝试通过Django管理界面上传JPEG文件时,我收到以下提示:

上传有效的图片。您上传的文件不是图片或已损坏。

PNG文件可以正常使用。

有什么想法吗?


1
这对我也起作用了。我运行的是Leopard(10.5.8)。我之前使用MacPorts重新安装了jpeg(使用sudo port install jpeg),不知道是否有所不同。 - Hannes
3个回答

14

Cato

我也遇到了与Leopard 10.5.x相同的问题。 以下是解决方法,(可能不适用于你)。

  1. 进入你的 PIL 工作目录(你解压PIL的地方) 进入 build 文件夹 进入 lib.macosx-10.* 文件夹(特定于您的操作系统) 删除 *.so 文件 回到 PIL 的 build 文件夹 (我登录为 su 用户,但如果您愿意,可以使用sudo命令)
  2. python setup.py clean
  3. python setup.py build
  4. python setup.py install

这将重新构建干净的 PIL。你的 jpeg 报告正常的原因是它只查找 jpeg 库文件的存在,而不是从干净的构建和安装 PIL 中发生的依赖关系。

希望这可以解决您的问题,我的问题更可能与安装顺序有关,但也许会有所帮助…

  • Ken

5
作为对Ken回答的补充,我也遇到了Snow Leopard 10.6.x的同样问题,原因是在安装PIL之前安装了libjpeg。安装完libjpeg后,我按照以下步骤重新安装了PIL。
  1. 进入PIL工作文件夹
  2. python setup.py clean
  3. python setup.py build_ext -i <-- 这将重新构建PIL
  4. python selftest.py - 运行自测以确认PIL已正常安装
  5. python setup.py install

3

我在Ubuntu 8.04上遇到了类似的问题。通过重新使用pip安装PIL,我成功地解决了这个问题:

pip install PIL --upgrade

我不确定问题是什么,但我怀疑它与其他人报告的类似。


pip install -U PIL Pillow 对我来说已经足够了,谢谢。请确保先运行 sudo apt-get install libjpeg62 libjpeg8 libjpeg8-dev - elimisteve

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接