16👍
Did you install libjpeg after PIL was already compiled/installed on the system? Maybe it can’t find the decoder properly?
Here’s one set of instructions I found on getting libjpeg and PIL playing nicely on MacOS (see towards the end; looks like you may need to explicitly set the dir of the decoder):
16👍
I met the same problem in Ubuntu server, then you can fix it by installing libjpeg-dev before PIL.
sudo apt-get install libjpeg-dev
sudo pip install PIL --upgrade
and if you already installed libjpeg-dev after PIL. then you can remove PIL first, and try to reinstall PIL as following.
sudo pip uninstall PIL
sudo apt-get install libjpeg-dev
sudo pip install PIL
It works for me, and hope it works for you.
- Django – Search related fields
- Multiple Forms and Formsets in CreateView
- For the django admin, how do I add a field to the User model and have it editable in the admin?
- How does one use a custom widget with a generic UpdateView without having to redefine the entire form?
2👍
Note, for anyone getting this error with a virtualenv on Ubuntu, this post is helpful.
Basically, Ubuntu installs shared objects to locations that pip doesn’t know about. In this case, pip expects system libraries to be in /usr/lib, but Ubuntu puts them in /usr/lib/x86_64-linux-gnu, or some other architexture-dependent location.
The short-term fix is to simply symlink the libraries into /usr/lib:
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/
This fixed the error for me on Ubuntu 12.04.
- Django application 504 error after saving model
- How can I create an encrypted django field that converts data when it's retrieved from the database?
- AuthAlreadyAssociated Exception in Django Social Auth
1👍
just do
sudo easy_install PIL
this will install PIL specific to your os.
please make sure that the egg file generated in /usr/local/lib/python2.6/dist-packages/ is having egg information (because when i did the same, egg file was not correct). If not then just rename the PIL-build-specific-name to PIL and add a PIL.pth file in the dist-packages folder. write PIL in the PIL.pth file and you are done
1👍
I had a similar problem on Ubuntu 11.04. Apparently in Ubuntu 11, it seems that you need libjpeg8-dev, rather than libjpeg or libjpeg62. Thankyou to Guillaumes post http://gpiot.com/ubuntu-9-10-install-pil-in-virtualenv/
0👍
I had this problem although on Linux not Mac, so might not be able to give too specific info.
However you might need libjpeg-devel too (if there is a correspondent for Mac).
Also make sure to purge your current PIL installation completely from the system. And after you are sure libjpeg is installed properly then reinstall PIL with build_ext -i. Then run PIL’s selftest.py to check if it gives the JPEG error.
- Django admin many-to-many intermediary models using through= and filter_horizontal
- 'QuerySet' object has no attribute ERROR, trying to get related data on ManyToMany fields
0👍
Django is trying to import PIL from a folder called PIL
, but PIL installs itself in a folder called e.g. PIL-1.1.7-py2.6-macosx-10.6-universal.egg
, so the import fails – which Django (or PIL ?) seem to interpret as corrupt image.
A simple symlink
host:~ user$ cd /Library/Python/2.6/site-packages
host:site-packages user$ ln -vis PIL-1.1.7-py2.6-macosx-10.6-universal.egg PIL
create symbolic link `PIL' to `PIL-1.1.7-py2.6-macosx-10.6-universal.egg'
has fixed this for me on a Mac OSX 10.6.x MBP.
On Linux machines, the folder might instead be called dist-packages
and be underneath /usr/lib/python/
or so, but the idea is the same.
You can often find the folder where python modules are usually installed to as described here.
- Enable PK based filtering in Django Graphene Relay while retaining Global IDs
- How do I simulate connection errors and request timeouts in python unit tests
- Where do I put "WSGIPassAuthorization On"?
0👍
‘python -v’ then ‘import _imaging’ is useful for figuring out where _imaging.so is loaded from. If you reinstall PIL without cleaning out the PIL dir in site-packages you may still be running with an old _imaging.so under the Python package dir. PIL’s selftest.py will pass, because you’ve got a new _imaging.so in your build dir. And make sure you edit JPEG_ROOT in setup.py to pick up the correct header and .so directories at build time.
- Python Django custom template tags register.assignment_tag not working
- Tastypie Negation Filter
- What does "Directory indexes are not allowed here." mean in a Django error?
- IPython doesn't work in Django shell
- Django AuditTrail vs Reversion
0👍
I had a similar problem and i had cleared it with referring below link:
http://osqa.sjsoft.com/questions/96/why-is-there-no-jpegpng-decoder-when-i-pip-install-pil-on-ubuntu