安装Pillow出错:命令“gcc”以1的退出状态失败。

15

我正在尝试设置我的Django变体(Wagtail),但安装所需的Pillow时出现问题。

背景:我在virtualenv中运行Python 2.6.6,使用Mac终端以获得对托管在A Small Orange上的域的Shell访问,没有root访问权限,无法使用sudo命令

当我运行以下命令时:

pip install Pillow

我收到以下错误:

  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

运行 easy_install 时遇到了相同的问题。将感激任何帮助!


1
无法执行gcc:权限被拒绝。请向托管提供商请求代为运行该命令。 - Priyank Patel
啊,好的,我会做并回报的。谢谢! - moshushi
  1. virtualenv 中安装无需使用 root 权限。
  2. gcc --version 显示什么?
  3. /home/clarayee/.pip/pip.log 中有什么?
- jfs
  1. 我也是这么想的。
  2. 尝试检查版本返回:-jailshell:/usr/bin/gcc:权限被拒绝。
- moshushi
  1. pip.log显示“无法执行gcc:权限被拒绝
错误:命令"gcc"执行失败,退出状态为1
清理中... 正在删除临时目录/home/clarayee/.env/env/build... 命令/home/clarayee/.env/env/bin/python -c "`
- moshushi
6个回答

25

请确保您已安装gcc和python-dev

sudo apt-get install gcc python-dev


4
要安装Python3.4,可以使用命令 sudo apt-get install gcc python3.4-dev - Harsh Vardhan Ladha
1
gcc 对我来说特别关键 - 你只是默认它已经存在了! - toxefa
我已经尝试过这个,但没有帮助我。我正在使用具有根访问权限的GCP。 - Dimitri

11

我曾经遇到过类似的问题(gcc失败,但没有提及权限),但问题出在我的依赖性上。顺便说一句,我的任务是在树莓派上安装Pillow,所以这些dev库是必要的。它们对你来说可能不是必需的。我认为,大部分问题都可以通过python-imaging命令解决。以下是我所做的:

# 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

参考资料: 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

如果这能帮助其他人的话,这可能就是服务提供商所做的事情。

在CentOS上,我最终不得不安装Python头文件来解决这个问题。

yum install python-devel

那么

pip install Pillow

+1 这个问题让我遇到了两次!对于Ubuntu系统,运行 sudo apt-get install python-dev 命令,然后安装 Pillow 库就可以顺利运行了,至少在我的情况下是这样的:pip install pillow - nicorellius

3

请在终端中运行以下命令:

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

然后执行命令 pip install Pillow

2
嗯...尝试了一下,结果还是一样的 `正在清理... 命令 /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-eL8ahy-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/clarayee/.env/env/include/site/python2.6 失败,错误代码为 1 ,在 /home/clarayee/.env/env/build/Pillow 中 将失败的调试日志存储在 /home/clarayee/.pip/pip.log 中。 - moshushi

1

问题已解决。Priyank Patel是正确的,这是一个服务器端权限问题。谢谢大家!

无法执行gcc:权限被拒绝。请向托管提供商请求代替您运行命令。- Priyank Patel昨天


0
你必须在根目录下执行它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接