I have written a Python app which makes use of:
from PIL import Image
I want to distribute a packed version of this application so that whoever uses it does not need to install all the dependencies.
For that I have used pyinstaller, without much success.
I run:
pyinstaller --onefile image_download.py
and it does not complain. However, when I run the application, I get:
Traceback (most recent call last): File "", line 26, in File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module exec(bytecode, module.dict) File "/home/ic/twitter-project/build/image_download/out00-PYZ.pyz/PIL.PngImagePlugin", line 40, in File "/usr/local/lib/python2.7/dist-packages/PyInstaller/loader/pyi_importers.py", line 270, in load_module exec(bytecode, module.dict) File "/home/ic/twitter-project/build/image_download/out00-PYZ.pyz/PIL.Image", line 63, in ImportError: cannot import name _imaging
I am using:
- Ubuntu 14.04
- Python 2.7
- pyinstaller 2.1
- PIL.VERSION 1.1.7 (although I thought I had installed Pillow 2.8.1)
The script works fine running as python image_download.py, but pyinstaller is not being able to import _imaging, for some reason.
Any suggestions?
import _imagingto the top of image_download.py and rebuild your executable ... sometimes it misses weird hidden imports its probably importing it likeimport("_imaging")or something somewhere - Joran Beasleyimport PIL._imagingand several other combinations with no luck. - user2891462