我对linux不太了解,所以请花一点时间来弄清楚我在问什么。
背景故事可以在这里阅读:http ://groups.google.com/group/django-users/browse_thread/thread/5cd35edc04876523
但这里有一个简短的回顾:我安装了 stackless python,发现我必须自己编译几个 python 库才能让我的 django 项目重新启动并运行。我编译了 setuptools & python-mysqldb,我下载并编译了 jpeg、freetype2 和 PIL。
现在的问题是,当我使用模型格式上传文件时,django 无法验证图像文件。如果您对 django 或 python 一无所知,请不要拒绝这个问题。这个问题不一定是全部。
当跟踪 django 代码中引发错误的点时,我发现它是在 python 在上传图像上使用 Image.load() 函数的时候完成的。当我评论这条线时,我收到了这个错误:
IOError at /profile/edit/
decoder jpeg not available
Request Method: POST
Request URL: 127.0.0.1/profile/edit/
Exception Type: IOError
Exception Value: decoder jpeg not available
Exception Location: /usr/local/lib/python2.6/site-packages/PIL/Image.py in _getdecoder, line 375
Python Executable: /usr/local/bin/python
Python Version: 2.6.2
Python Path: ['/usr/local/lib/python2.6/site-packages/setuptools-0.6c9-py2.6.egg', '/usr/local/lib/python2.6/site-packages/MySQL_python-1.2.3c1-py2.6-linux-i686.egg', '/usr/local/lib/python2.6', '/usr/local/lib/python2.6/plat-linux2', '/usr/local/lib/python2.6/lib-tk', '/usr/local/lib/python2.6/lib-old', '/usr/local/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/site-packages', '/usr/local/lib/python2.6/site-packages/PIL', '/home/projects', '/home/projects/tst']
据我了解,它无法用 jpeg 做某事。这是否意味着即使我已经编译并安装了这个 jpeg 库(来自 ww.ijg.org 的 jpegsrc.v7.tar.gz),路径或其他东西仍然有问题。
我确实尝试在我编译 jpeg 的文件夹中执行 sudo make uninstall 并删除了我已安装的文件。但是 ubuntu 安装也安装了这个库,然后我才用 stackless 做任何事情。
因此,经过这么长的故事,问题是:我怎样才能从我的计算机中删除 Jpeg,这样我才能确保到处使用的 jpeg 解码器是我编译和安装的 jpeg 解码器?
艾伦
安装包 python-imaging 似乎已经在多个发行版上解决了这个问题。
——干杯,彼得