I have greatly struggled to have PIL library support in isolated Python environments like virtualenv –no-site-packages.
For example, when installing Satchmo shop under virtualenv:
../bin/clonesatchmo.pyhe Python Imaging Library is not installed. Install from your distribution binaries.../bin/clonesatchmo.py The Python Imaging Library is not installed. Install from your distribution binaries.
Though it clearly is there, installed by easy_install PIL command:
ls ../lib/python2.5/site-packages/PIL-1.1.7-py2.5-linux-x86_64.egg ArgImagePlugin.py ExifTags.py GimpGradientFile.pyc...
Does anyone know if this problem is with PIL itself, eggified PIL or something else?
In any case, there is an easy workaround: use system-wide PIL (sudo apt-get install python-imaging) and symlink PIL from your site-wide installation under the isolated Python environment:
(satchmo-py25)mulli% pwd /srv/plone/mmaspecial/satchmo-py25/lib/python2.5/site-packages (satchmo-py25)mulli% ln -s /usr/lib/python2.4/PIL .
That works for now, but I’d like to learn how to make virtualenv and buildout install PIL egg bullet-proof way.
I have had same time of problem recently which I solved under Mac OSX by easy installing PILwoTk. This makes me believe the standard egg has an issue…
I followed the advice from this blog http://davidjb.com/blog/2009/06/virtualenv-plone-and-ubuntu-904-jaunty
the important part was to run these commands in the virtualenv
easy_install –find-links http://www.pythonware.com/products/pil/ Imaging
easy_install –find-links http://download.zope.org/distribution PILwoTK
Haven’t had time to investigate why it works, but it does.
There are a few options, symlinking a different python’s egg of it isn’t a good idea.
I do:
easy_install http://dist.repoze.org/PIL-1.1.6.tar.gz
which is a repackaging that works with setuptools. Alternatively, download the source distribution and run its install manually:
$ curl -O http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
$ tar zxvf Imaging-1.1.7.tar.gz
$ cd Imaging-1.1.7
$ python setup.py install
Matt
It seems that setuptools doesn’t find PIL egg. The solution I found is simplier :
$ cd /srv/plone/mmaspecial/satchmo-py25/lib/python2.5/site-packages
$ ln -s PIL-1.1.7-py2.5-linux-x86_64.egg PIL
This is enough to get it works with your egg and works with all eggs. Why it doesn’t work with this egg… may be ‘x86_64’ that add an underscore where setuptools doesn’t expect to find one.
Try this repackaged version of PIL: http://dist.repoze.org/PIL-1.1.6.tar.gz
@Encolpe
Your solution worked perfectly for me even though I’m using OS X 10.6. I just had to change the name of the egg. Thanks!
works perfectly! thanks!
how would you know if you installed the PIL without problems. i just installed PIL using Imaging-1.1.7; python setup.py install.
easy_install http://dist.repoze.org/PIL-1.1.6.tar.gz works for me 🙂
Thanks!!!
Thanks so much for this fix. I spent ages trying to get it working on a bitnami image. Without your site I might have been there for days!
I used:
$ curl -O http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
$ tar zxvf Imaging-1.1.7.tar.gz
$ cd Imaging-1.1.7
$ python setup.py install
Cheers
Rich
Install python-dev:
sudo apt-get install python-dev
Worked for me!
Took from: http://drumcoder.co.uk/blog/2011/jul/22/installing-pil-virtualenv/
You can now do:
$ source env1/bin/activate
(env1)….~$ easy_install pil