This article mainly explains in detail the simple tutorial of PIL installation in python. Interested friends can refer to it
PIL installation in python is a very troublesome thing. If you want to use it in python Even if a graphics program just saves an image from a binary stream (for example, using Scrapy to crawl and save images), it will use the PIL
library, and this library is notoriously difficult to install.
Its performance is that if you use Scrapy's ImagePipeline, it will use PIL by default. If the graphics decoder is not installed correctly, the following error will occur:
IOError: decoder jpeg not available
I have searched many methods on the Internet, but they still don’t work, and I don’t know what is going on. I initially thought there was a problem with the installation of the PIL library, but even if PIL is installed correctly, the above error still occurs. The reason lies in the decoder problem.
Later I found a package called Imaging-1.1.7, installed it haphazardly, and ignored it after it worked. Technical debt must always be repaid, but I didn’t. Thinking of it so quickly, I encountered the same problem on Ubuntu just before the project was released.
I used this package directly, but the result...
The answer is of course painful, it is still IOError~
Okay, let the painful things pass. After a lot of tossing, I finally found a glimmer of hope. Please pay attention to the following table information:
-------------------------------------------------------------------- PIL 1.1.7 SETUP SUMMARY -------------------------------------------------------------------- version 1.1.7 platform linux2 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] -------------------------------------------------------------------- *** TKINTER support not available *** JPEG support not available *** ZLIB (PNG/ZIP) support not available *** FREETYPE2 support not available *** LITTLECMS support not available --------------------------------------------------------------------
Note: This table is displayed after using the python setup.py build command in the Imaging installation directory.
If you can see it in detail I discovered it at one point, right! All image decoding is not supported. The problem is not with PIL, but with the decoder. The reason why I was able to successfully install it on OSX must have installed these decoder before.
In order to prevent other friends from falling into this pit again, I have specially sorted out the installation method:
Mac OSX
brew update
brew install libjpeg libpng
It is enough to install these two
Ubuntu 14.0.4
sudo apt-get install libjpeg-dev libpng12-dev libfreetype6-dev libtiff-dev
It's a bit worse on Linux, you need to install a few more packages.
This is not enough, it is best to directly use the Pillow python package instead of manually downloading Imaging For this package, just use the following command
pip install -I --no-cache-dir -v Pillow
After this command is executed, there will be a lot of information, don’t worry about it, just find the following That’s it:
-------------------------------------------------------------------- PIL SETUP SUMMARY -------------------------------------------------------------------- version Pillow 3.2.0 platform linux2 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] -------------------------------------------------------------------- *** TKINTER support not available --- JPEG support available *** OPENJPEG (JPEG2000) support not available --- ZLIB (PNG/ZIP) support available *** LIBTIFF support not available --- FREETYPE2 support available *** LITTLECMS2 support not available *** WEBP support not available *** WEBPMUX support not available -------------------------------------------------------------------- To add a missing option, make sure you have the required library, and set the corresponding ROOT variable in the setup.py script. To check the build, run the selftest.py script.
This is OK! Another tip: Please pay attention to the above line, To check the build, run the selftest.py script. Thisselftest.py is a good thing. At least you can know whether it is successful or not.
I wish everyone a successful installation!
The above is the detailed content of Detailed explanation of simple tutorial for PIL installation in python. For more information, please follow other related articles on the PHP Chinese website!