用点子安装PIL

use*_*710 317 python installation pip python-imaging-library python-2.7

我正在尝试使用以下命令安装PIL(Python Imaging Library):

sudo pip install pil
Run Code Online (Sandbox Code Playgroud)

但我收到以下消息:

Downloading/unpacking PIL
  You are installing a potentially insecure and unverifiable file. Future versions of pip will default to disallowing insecure files.
  Downloading PIL-1.1.7.tar.gz (506kB): 506kB downloaded
  Running setup.py egg_info for package PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

Installing collected packages: PIL
  Running setup.py install for PIL
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py
    --- using frameworks at /System/Library/Frameworks
    building '_imaging' extension
    clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o
    unable to execute clang: No such file or directory
    error: command 'clang' failed with exit status 1
    Complete output from command /usr/bin/python -c "import setuptools;__file__='/private/tmp/pip_build_root/PIL/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-AYrxVD-record/install-record.txt --single-version-externally-managed:
    WARNING: '' not a valid package name; please use only.-separated package names in setup.py

running install

running build

.
.
.
.

copying PIL/XVThumbImagePlugin.py -> build/lib.macosx-10.8-intel-2.7

running build_ext

--- using frameworks at /System/Library/Frameworks

building '_imaging' extension

creating build/temp.macosx-10.8-intel-2.7

creating build/temp.macosx-10.8-intel-2.7/libImaging

clang -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.7/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.8-intel-2.7/_imaging.o

unable to execute clang: No such file or directory

error: command 'clang' failed with exit status 1

----------------------------------------
Cleaning up…
Run Code Online (Sandbox Code Playgroud)

你能帮我安装PIL吗?

Fog*_*ird 537

  1. 如上所述安装Xcode和Xcode命令行工具.
  2. 使用Pillow,因为PIL基本上已经死了.枕头是PIL的维护叉.

https://pypi.python.org/pypi/Pillow/2.2.1

pip install Pillow
Run Code Online (Sandbox Code Playgroud)

如果你安装了两个Pythons并想为Python3安装它:

python3 -m pip install Pillow
Run Code Online (Sandbox Code Playgroud)

  • 虽然这是一个有效且有用的答案,但它确实没有回答这个问题.对于我们这些在修复可能需要填充PIL依赖项的旧项目的过程中我们可以找到下一个会破坏的东西,我们实际上需要获得实际依赖(有时甚至需要获得特定版本)有人建立了黑客攻击). (31认同)
  • @GiriB感谢您的更新.我的主要观点是,通常情况下,您正在开始处理一些遗留生产代码,其中有20个古老的依赖项,其中PIL可能是一个,您需要调试一些东西来修改生产代码.在这种情况下,您最确定*不要*为了开始调试生产环境中发生的单行错误而不得不为开发构建中连接到~10个不同库的代码编写端口.希望这澄清一下. (6认同)
  • 当我尝试这个时,我在OSX Mavericks上遇到了'clang`错误,但我发现这个答案对此有帮助:http://stackoverflow.com/a/22322645/16959 (4认同)
  • @Namey将现有的PIL代码移植到Pillow可以很容易****.[Port PIL to Pillow](http://pillow.readthedocs.org/en/latest/porting-pil-to-pillow.html).Pillow基于PIL代码,并已发展成为更好,更现代,更友好的PIL版本. (3认同)

mad*_*rdi 60

这对我有用:

apt-get install python-dev
apt-get install libjpeg-dev
apt-get install libjpeg8-dev
apt-get install libpng3
apt-get install libfreetype6-dev
ln -s /usr/lib/i386-linux-gnu/libfreetype.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libjpeg.so /usr/lib
ln -s /usr/lib/i386-linux-gnu/libz.so /usr/lib

pip install PIL  --allow-unverified PIL --allow-all-external
Run Code Online (Sandbox Code Playgroud)

  • 在64位平台上,链接路径需要不同 - 例如/usr/lib/x86_64-linux-gnu/libfreetype.so.对于更加独立于架构的解决方案,创建类似`#ln -s/usr/lib/\`uname -i \`-linux-gnu/libfreetype.so/usr/lib /的链接 (9认同)

Jay*_*kar 54

使用apt install非常简单,使用此命令来完成它

sudo apt-get install python-PIL
Run Code Online (Sandbox Code Playgroud)

要么

sudo pip install pillow
Run Code Online (Sandbox Code Playgroud)

要么

sudo easy_install pillow
Run Code Online (Sandbox Code Playgroud)

  • 如果您正在运行ipython笔记本服务器,请不要忘记重新启动它. (2认同)
  • 我发现它区分大小写,因此: sudo apt-get install python-PIL => 失败(未找到包) sudo apt-get install python-pil => Worked (2认同)

小智 35

在Mac OS X上,使用此命令:

sudo pip install https://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
Run Code Online (Sandbox Code Playgroud)


gta*_*gil 33

您应按照此处所述进行安装:

pip install image
Run Code Online (Sandbox Code Playgroud)


ism*_*nni 26

我从这里的讨论中得到了答案:

我试过了

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL
Run Code Online (Sandbox Code Playgroud)

它起作用了.

  • 考虑使用这个:`pip install --no-index -f http://effbot.org/downloads/ -U PIL --trusted-host effbot.org`我使用这个的原因是因为它是由列出的URL包和https://pypi.python.org/pypi/PIL (8认同)

Ane*_*R S 11

对于Ubuntu,PIL不再工作了.我总是得到:

找不到PIL的匹配分布

所以安装python-imaging:

sudo apt-get install python-imaging
Run Code Online (Sandbox Code Playgroud)


Dmi*_*kov 11

这些天,每个人都使用Pillow,一个友好的PIL叉子,而不是PIL.

代替: sudo pip install pil

做: sudo pip install pillow

$ sudo apt-get install python-imaging
$ sudo -H pip install pillow
Run Code Online (Sandbox Code Playgroud)


KGo*_*KGo 10

我认为你在Mac上.请参阅如何在mac os x 10.7.2 Lion上安装PIL

如果你使用[homebrew] [],你可以用刚安装PIL brew install pil.然后,您可能需要将安装目录($(brew --prefix)/lib/python2.7/site-packages)添加到PYTHONPATH,或者将PIL目录本身的位置添加到PIL.pth任何site-packages目录中名为file的文件中,其内容为:

/usr/local/lib/python2.7/site-packages/PIL
Run Code Online (Sandbox Code Playgroud)

(假设brew --prefix/usr/local).

或者,您可以从源代码下载/构建/安装它:

# download
curl -O -L http://effbot.org/media/downloads/Imaging-1.1.7.tar.gz
# extract
tar -xzf Imaging-1.1.7.tar.gz
cd Imaging-1.1.7
# build and install
python setup.py build
sudo python setup.py install
# or install it for just you without requiring admin permissions:
# python setup.py install --user
Run Code Online (Sandbox Code Playgroud)

我刚刚运行上面的命令(在OSX 10.7.2上,使用XCode 4.2.1和System Python 2.7.1)并且它构建得很好,尽管我的环境中有些东西可能是非默认的.

[homebrew]:http://mxcl.github.com/homebrew/ "Homebrew"


Ked*_*kar 6

我有同样的问题,但它通过安装得到解决python-dev.

在安装PIL之前,请运行以下命令:

sudo apt-get install python-dev
Run Code Online (Sandbox Code Playgroud)

然后安装PIL:

pip install PIL
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说在Ubuntu 14上不起作用.`pip install pil`导致`没有为PIL找到任何发行版',无论我是否首先安装python-dev. (10认同)

imo*_*mos 5

对于CentOS:

yum install python-imaging
Run Code Online (Sandbox Code Playgroud)


wzb*_*zon 5

安装过程中出现了一些错误.以防有人也这样做.尽管我已经坐在管理员用户下,但不是root用户.

File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 157, in makedirs
    mkdir(name, mode)
OSError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/PIL'

Storing debug log for failure in /Users/wzbozon/Library/Logs/pip.log
Run Code Online (Sandbox Code Playgroud)

添加"sudo"解决了这个问题,sudo工作正常:

~/Documents/mv-server: $ sudo pip install Pillow
Run Code Online (Sandbox Code Playgroud)


Zho*_*eng 5

我尝试了所有的答案,但是发了故事.直接从官方网站获取源代码,然后构建安装成功.

  1. 转到网站http://www.pythonware.com/products/pil/#pil117
  2. 单击"Python Imaging Library 1.1.7 Source Kit"下载源代码
  3. tar xf Imaging-1.1.7.ta​​r.gz
  4. cd Imaging-1.1.7
  5. sudo python setup.py安装


Cha*_*rma 5

Install

pip install Pillow
Run Code Online (Sandbox Code Playgroud)

Then, Just import in your file like,

from PIL import Image
Run Code Online (Sandbox Code Playgroud)

I am using windows. It is working for me.