How to get Python Pillow (PIL) version?
Solution 1
Use PIL.__version__
or Image.__version__
.
Before Pillow version 6.0.0, its version string could be accessed via the following variable names:
>>> PIL.version.__version__
'5.1.0'
>>> PIL.PILLOW_VERSION
'5.1.0'
>>> PIL.__version__
'5.1.0'
>>>
Not to be confused with the last PIL version that Pillow is built on (and thus hangs on to):
>>> PIL.VERSION
'1.1.7'
There was no information on this in the documentation regarding the fork from PIL: https://pillow.readthedocs.io/en/5.1.x/about.html#why-a-fork
However, PIL's homepage states
Status
The current free version is PIL 1.1.7. This release supports Python 1.5.2 >and newer, including 2.5 and 2.6. A version for 3.X will be released later.
That release is dated "November 15, 2009".
This confirms it's just PIL's last release version.
For future/further digging:
The version string is defined in these source files: https://github.com/python-pillow/Pillow/blob/master/src/PIL/version.py
and https://github.com/python-pillow/Pillow/blob/master/src/PIL/__init__.py
, or search for all occurences of __version__
in the repository.
(On my Windows, this is installed to %LocalAppData%\Programs\Python\Python36\Lib\site-packages\PIL\version.py
)
**Update**
https://pillow.readthedocs.io/en/stable/releasenotes/5.2.0.html
5.2.0 API Changes Deprecations
These version constants have been deprecated.
VERSION
will be removed in Pillow 6.0.0, andPILLOW_VERSION
will be removed after that.`PIL.VERSION` (old PIL version 1.1.7) `PIL.PILLOW_VERSION` `PIL.Image.VERSION` `PIL.Image.PILLOW_VERSION`
Use
PIL.__version__
instead.
https://pillow.readthedocs.io/en/stable/releasenotes/6.0.0.html
6.0.0 Backwards Incompatible Changes
Removed deprecated VERSION
VERSION
(the old PIL version, always 1.1.7) has been removed. Use__version__
instead.
2021-12 - this answer is still correct:
>>> import PIL
>>> PIL.__version__
'8.4.0'
>>> from PIL import Image
>>> Image.__version__
'8.4.0'
>>> Image.__version__ is PIL.__version__
True
Solution 2
To get the version for PIL do
>>> PIL.VERSION
'1.1.7'
Edit:
This gives you only the PIL version not the Pillow version. See this answer for more detail.
Solution 3
I tried the above answers, nothing worked for me, but this did (for version 8.0.1:
from PIL import Image
dir(Image)
# AH HAH! there is an attribute __version__
print(Image.__version__)
8.0.1
Solution 4
Finally I've found a solution:
from PIL import Image
print('PIL',Image.VERSION)
Claude COULOMBE
Updated on July 09, 2022Comments
-
Claude COULOMBE almost 2 years
I would like to get the PIL (Python Imaging Library) version installed on a Mac OS X computer. I've previously installed Pillow, a more friendly fork of PIL.
I've tried:
import PIL print('PIL',PIL.__version__)
And I've got the error:
AttributeError: module 'PIL' has no attribute '__version__'
-
Claude COULOMBE almost 7 yearsThanks! I've found another solution but yours is working fine too!
-
handle about 6 yearsNote that this only returns the last version string of
PIL
, whichpillow
is based on (but they kept the module name). -
handle about 6 yearsTo clarify: this does not return the version of Pillow.
-
handle about 6 yearsThis does not return the Version of Pillow, but the (old) underlying PIL version. It is identical to
PIL.VERSION
(source).