I ran the following command to install project dependencies into virtualenv novacek
:
(novacek) $ pip install -r reqs.txt
reqs.txt
looks like this:
Django==1.4.4
Pillow==1.7.8
South==0.7.6
django-bootstrap-toolkit==2.8.0
django-debug-toolbar==0.9.4
django-filebrowser==3.5.1
-e git+https://github.com/ir4y/django-flatblocks.git@4f8b2c86fe94e19dc7aa86b80a204918e2142aff#egg=django_flatblocks-dev
django-generic-flatblocks==0.9.1
django-grappelli==2.4.3
django-hvad==0.2
django-photologue==2.5
docutils==0.10
psycopg2==2.4.6
wsgiref==0.1.2
As you can see, there is no PIL package, only Pillow, but in the end of the installation process I got this:
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.7.3 (default, Feb 21 2013, 13:39:24)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
--------------------------------------------------------------------
*** TKINTER support not available
*** JPEG support not available
*** ZLIB (PNG/ZIP) support not available
*** FREETYPE2 support not available
*** LITTLECMS support not available
--------------------------------------------------------------------
Which is strange. I had also got the setup summary for Pillow earlier (with enabled support for jpeg and zlib btw. as Pillow can actually find my libraries).
And If I run pip freeze from virtualenv after the installation, I get this:
Django==1.4.4
PIL==1.1.7
Pillow==1.7.8
South==0.7.6
django-bootstrap-toolkit==2.8.0
django-debug-toolbar==0.9.4
django-filebrowser==3.5.1
-e git+https://github.com/ir4y/django-flatblocks.git@4f8b2c86fe94e19dc7aa86b80a204918e2142aff#egg=django_flatblocks-dev
django-generic-flatblocks==0.9.1
django-grappelli==2.4.3
django-hvad==0.2
django-photologue==2.5
docutils==0.10
psycopg2==2.4.6
wsgiref==0.1.2
PIL has got into dependecies. Why?
This is entirely correct. Pillow is a fork, alternative re-packaging of PIL.
From the PyPI page for Pillow:
Inside the package this is still the PIL project and will still emit messages under that name when compiling.
Unfortunately, Pillow does not claim to satisfy the PIL requirement, so anything that depends on PIL instead will still pull PIL in.