15
votes

I am trying to setup my Django variant (Wagtail) but have problems installing the required Pillow.

Background: Am running Python 2.6.6, in virtualenv, using Mac terminal to have shell access to domain hosted on A Small Orange, no root access, cannot use sudo commands

When i run

pip install Pillow

i get the below error:

  Downloading/unpacking Pillow
  Downloading Pillow-2.3.0.zip (2.4MB): 2.4MB downloaded
  Running setup.py (path:/home/clarayee/.env/env/build/Pillow/setup.py) egg_info for package Pillow
  Installing collected packages: Pillow
  Running setup.py install for Pillow
    building 'PIL._imaging' extension
    gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/home/clarayee/.env/env/build/Pillow/libImaging -I/home/clarayee/.env/env/include -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -c _imaging.c -o build/temp.linux-x86_64-2.6/_imaging.o
    unable to execute gcc: Permission denied
    error: command 'gcc' failed with exit status 1
    Complete output from command /home/clarayee/.env/env/bin/python -c "import setuptools, tokenize;__file__='/home/clarayee/.env/env/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nCrvqa-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/clarayee/.env/env/include/site/python2.6:
    running install

running build

running build_py

creating build

creating build/lib.linux-x86_64-2.6

creating build/lib.linux-x86_64-2.6/PIL

copying PIL/MicImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/TiffTags.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageWin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/IcnsImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/BmpImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/DcxImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/McIdasImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageFileIO.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/SunImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImagePalette.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ArgImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/Image.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PngImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/BufrStubImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PalmImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImagePath.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/XpmImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/EpsImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageMath.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PpmImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/IcoImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PcfFontFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageTk.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/GdImageFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/__init__.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/_util.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/MspImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/FliImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageEnhance.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/TiffImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/TarIO.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/JpegImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageColor.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/Hdf5StubImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/BdfFontFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImtImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PixarImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/JpegPresets.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/XVThumbImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/GimpGradientFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageQt.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageCms.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/WebPImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/CurImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/FpxImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageMode.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageChops.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ContainerIO.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/GifImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/WalImageFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageDraw2.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageFont.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/IptcImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageOps.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/SgiImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PsdImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/MpegImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/GbrImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PcdImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/OleFileIO.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/XbmImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PSDraw.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageTransform.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageDraw.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PdfImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/FontFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/TgaImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/SpiderImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/WmfImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ExifTags.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageFilter.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PcxImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageShow.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageSequence.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/GribStubImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/GimpPaletteFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/PaletteFile.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageStat.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/_binary.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/FitsStubImagePlugin.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/tests.py -> build/lib.linux-x86_64-2.6/PIL

copying PIL/ImageGrab.py -> build/lib.linux-x86_64-2.6/PIL

running egg_info

writing dependency_links to Pillow.egg-info/dependency_links.txt

writing Pillow.egg-info/PKG-INFO

writing top-level names to Pillow.egg-info/top_level.txt

warning: manifest_maker: standard file '-c' not found

reading manifest file 'Pillow.egg-info/SOURCES.txt'

reading manifest template 'MANIFEST.in'

writing manifest file 'Pillow.egg-info/SOURCES.txt'

running build_ext

building 'PIL._imaging' extension

creating build/temp.linux-x86_64-2.6/libImaging

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DHAVE_LIBTIFF -I/usr/include/freetype2 -I/home/clarayee/.env/env/build/Pillow/libImaging -I/home/clarayee/.env/env/include -I/usr/local/include -I/usr/include -I/usr/include/python2.6 -c _imaging.c -o build/temp.linux-x86_64-2.6/_imaging.o

unable to execute gcc: Permission denied

error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
Command /home/clarayee/.env/env/bin/python -c "import setuptools, tokenize;__file__='/home/clarayee/.env/env/build/Pillow/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-nCrvqa-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/clarayee/.env/env/include/site/python2.6 failed with error code 1 in /home/clarayee/.env/env/build/Pillow
Storing debug log for failure in /home/clarayee/.pip/pip.log

Same issue as when I run easy_install. Will appreciate any help!

6
unable to execute gcc: Permission denied . Ask hosting provide to run your command for you .Priyank Patel
ah, will do that and report back. thanks!moshushi
1. You don't need to be root to install inside virtualenv 2. What does gcc --version show? 3. What is in /home/clarayee/.pip/pip.log?jfs
1. that's what I thought too. 2. tried to check version returns: -jailshell: /usr/bin/gcc: Permission deniedmoshushi
3. pip.log says unable to execute gcc: Permission denied error: command 'gcc' failed with exit status 1 ---------------------------------------- Cleaning up... Removing temporary dir /home/clarayee/.env/env/build... Command /home/clarayee/.env/env/bin/python -c "moshushi

6 Answers

23
votes

Make sure you have gcc and python-dev installed

sudo apt-get install gcc python-dev

11
votes

I had a similar problem (gcc failed, but no mention of permissions), but it was dependencies that were my problem. By the way, my task was to install Pillow on a raspberry pi, which is why those dev libraries were necessary. They may not be necessary for you. It was the python-imaging command that did the trick most, I think. Here's what I did:

# Add the deb-src for each deb in /etc/apt/sources list
sudo apt-get update
sudo apt-get install python2.7-dev tk8.5 tcl8.5 tk8.5-dev tcl8.5-dev
sudo apt-get build-dep python-imaging --fix-missing
sudo pip install Pillow

Sources: https://github.com/python-imaging/Pillow/issues/322 http://forums.getpebble.com/discussion/8490/ubuntu-install-problem-when-it-comes-to-pip https://unix.stackexchange.com/questions/105265/install-pil-pillow-via-pip-in-debian-testing-jessie

4
votes

In case this helps anyone else. This may be what the service provider did.

On CentOS I ended up having to install Python headers to fix the problem.

yum install python-devel

then

pip install Pillow
3
votes

Try running this in terminal:

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

Then pip install Pillow

1
votes

Solved. Priyank Patel was right... it's a server-side permission issue. Thank you all!

unable to execute gcc: Permission denied . Ask hosting provide to run your command for you . – Priyank Patel yesterday

0
votes

You have to execute it in root directory.