PIL'in pip ile montajı


349

Komutunu kullanarak PIL (Python Imaging Library) yüklemeye çalışıyorum:

sudo pip install pil

ama şu mesajı alıyorum:

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

PIL yüklemem için lütfen bana yardım eder misiniz?


Xcode'u yükledikten sonra Xcode'un komut satırı araçlarını yüklediniz mi? Görünüşe göre clang derleyiciniz yok.
Fiver

Yanıtlar:


586
  1. Xcode ve Xcode Komut Satırı Araçlarını belirtilen şekilde yükleyin.
  2. Bunun yerine Yastık kullanın, çünkü PIL temel olarak ölüdür. Yastık, PIL'in bakımı yapılmış bir çataldır.

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

pip install Pillow

Her iki Pythons yüklüyse ve bunu Python3 için yüklemek istiyorsanız:

python3 -m pip install Pillow

5
Bunu clangdenediğimde OSX Mavericks'te bir hata aldım , ancak bu cevabın buna yardımcı olduğunu buldum: stackoverflow.com/a/22322645/16959
Jason Sperske

34
Bu geçerli ve yararlı bir cevap olsa da, gerçekten soruyu cevaplamıyor. PIL bağımlılığını doldurmayı gerektirebilecek eski projeleri rehabilitasyon sürecinde olanlarımız için, kırılacak bir sonraki şeyi bulabilmemiz için, aslında gerçek bağımlılığı elde etmeye ihtiyacımız var (ve hatta bazen belirli bir sürümü almamız gerekiyor) birinin hack yapması).
Namey

3
@Namey Mevcut PIL kodunu Yastığa taşımak kolayca yapılabilir . PIL - Yastık arası . Yastık PIL kodunu temel alır ve PIL'in daha iyi, modern ve daha dostça bir versiyonuna dönüşmüştür.
Giriş

7
@GiriB Güncelleme için teşekkürler. Asıl mesele, PIL'in biri olabileceği 20 eski bağımlılığın olduğu bazı eski üretim kodlarında çalışmaya başladığınız ve üretim kodunda bir düzeltme yapmak için bir hata ayıklamanız gerektiğiydi. Bu durumda, en kuşkusuz yok sadece üretim ortamında gerçekleşiyor tek satırlık hata ayıklama başlatmak için dev yapı üzerinde ~ 10 farklı kütüphaneler bağlı kod yazma bağlantı noktalarına sahip olmak istiyorum. Umarım bu açıklığa kavuşur.
Namey

Kullanan bir kütüphane kullanmaya çalışıyorum import Image. Görüntü sağlamak için Yastık almanın bir yolu var mı?
AnnanFay

60

Bu benim için çalışıyor:

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

9
64 bit platformlarda, bağlantılı yolun farklı olması gerekir - örn. /Usr/lib/x86_64-linux-gnu/libfreetype.so. Daha mimariden bağımsız bir çözüm için, aşağıdaki gibi bağlantılar oluşturun# ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/
Mark Chackerian

Görüntüleme başlıkları için her zaman aynı sorun: _imagingft.c: 73: 31: ölümcül hata: freetype / fterrors.h: Böyle bir dosya veya dizin yok #include <freetype / fterrors.h> Yani python-görüntüleme düşünce pip'i yüklemelisiniz
c24b

Her zaman burada bahsedilen gibi freetype başlıklarında bir sorun [ askubuntu.com/questions/507459/… ? SOlution: cd / usr / include ln -s freetype2 freetype
c24b

1
Ubuntu altında 14.04 1 daha sembolik gereklidir sudo ln -s /usr/include/freetype2 /usr/local/include/freetype
Akasha

1
benim için iyi çalıştı sır --allow-doğrulanmamış PIL --allow-all-external
eusoubrasileiro

54

Apt install kullanarak bunu yapmak çok basit

sudo apt-get install python-PIL

veya

sudo pip install pillow

veya

sudo easy_install pillow

2
çalıştırıyorsanız ipython dizüstü sunucunuzu yeniden başlatmayı unutmayın.
atıcı

sudo pip install yastık benim için çalıştı. sudo apt-get install python-PIL yoktu.
Yu Shen

1
Ben büyük / küçük harfe duyarlı buldum: sudo apt-get install python-PIL => Başarısız (paket bulunamadı) sudo apt-get install python-pil =>
Çalışıldı

35

Mac OS X'te şu komutu kullanın:

sudo pip install https://effbot.org/media/downloads/Imaging-1.1.7.tar.gz

debian jessy üzerinde çalıştı !, sadece önceden python-dev kurmak için gerekli :)
Agey

1
İlk olarak libjpeg'i kurmak zorunda kaldım: brew install libjpeg
Pierre F

Sonunda gerçek bir çözüm. Mac'imde apt-get: p yok ve ben yine de bir virtualenv'e kurmak istiyorum.
sudo

sudo pip install Yastık kullanın - aşağıdaki gibi.
johndpope


26

Burada bir tartışmadan cevap aldım :

denedim

pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL

ve işe yaradı.


8
Bunu kullanmayı düşünün: Bunu kullanmamın pip install --no-index -f http://effbot.org/downloads/ -U PIL --trusted-host effbot.orgnedeni, paket tarafından listelenen ve pypi.python.org/pypi/PIL
Tom Myddeltyn'de

1
HTTP yerine HTTPS kullanmak için bir uyarı aldım. URL'yi değiştirdikten sonra harika çalıştı.
AnnanFay

@TomMyddeltyn X11 / Xlib.h bulamayan bir derleyici hatası dışında neredeyse işe yaradı
Yaygın olmayan

@ Yaygın olmayan Sorunun ne olduğundan emin değilim, üzgünüm.
Tom Myddeltyn

21

Yüklemek

pip install Pillow

Ardından, dosyanızı aşağıdaki gibi içe aktarın,

from PIL import Image

Pencereler kullanıyorum. Benim için çalışıyor.

NOT :

Pillow, Python Imaging Library'nin işlevsel bir bırakma yedeğidir. Mevcut PIL uyumlu kodunuzu Pillow ile çalıştırmak için, Görüntüleme modülünü genel ad alanı yerine PIL ad alanından içe aktarmak için değiştirilmesi gerekir.

yani değişiklik:

import Image

için:

from PIL import Image

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


Teşekkürler! 'PIL' adını okurken from PIL import Imagebu kütüphanenin adını 'Pillow' olarak tahmin edemedim. Ben de Windows'tayım ve çözümünüz benim için çalıştı.
Marcos Buarque

Pillow, Python Imaging Library'nin işlevsel bir bırakma yedeğidir. Mevcut PIL uyumlu kodunuzu Pillow ile çalıştırmak için, Görüntüleme modülünü genel ad alanı yerine PIL ad alanından içe aktarmak için değiştirilmesi gerekir. Yani değişimi: import Imageiçin from PIL import Image pypi.org/project/Pillow/2.2.1
Chandan Sharma

Ek bckground bilgileri için teşekkür ederiz!
Marcos Buarque

12

Mac'te olduğunuzu düşünüyorum. Bkz Ben mac os x 10.7.2 Lion üzerinde PIL yükleyebilir nasıl

[Homebrew] [] kullanırsanız, PIL'i sadece kurabilirsiniz brew install pil. Daha sonra yükleme dizinini ( $(brew --prefix)/lib/python2.7/site-packages) PYTHONPATH'nize eklemeniz veya PIL dizininin konumunu, PIL.pthsite paketleri dizinlerinizin herhangi birinde dosya adı verilen bir dosyaya , içeriği ile eklemeniz gerekebilir :

/usr/local/lib/python2.7/site-packages/PIL

(varsayarak brew --prefixolan /usr/local).

Alternatif olarak, sadece kaynağından indirebilir / oluşturabilir / yükleyebilirsiniz:

# 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

Yukarıdakileri şimdi çalıştırdım (OSX 10.7.2'de, XCode 4.2.1 ve System Python 2.7.1 ile) ve çevremdeki bir şeyin varsayılan olmaması olasılığı olsa da gayet iyi bir şekilde oluşturuldu.

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


Bu nasıl yükleneceğini açıklasa da pil, pipOP başlangıçta denediğinden bunu yapmaz . brewBu günlerde web çevresinde bol miktarda kullanımı yetersiz buluyorum . brewne yapmak istediğinize bağlı olarak biraz ek yük kuracaktır. bu yüzden pippython modülleri için muhtemelen en iyi seçim olacaktır.
mknaf

11

Bu günlerde herkes dost bir PIL çatalı olan PIL yerine Pillow kullanıyor.

Onun yerine: sudo pip install pil

Yapmak: sudo pip install pillow

$ sudo apt-get install python-imaging
$ sudo -H pip install pillow

Hiç yapmadan karşı tavsiye ederim sudo pip install .... Bu, sisteminizin uygulamalarını etkileyebilecek Python kurulumunu bozabilir. Anaconda sanal ortamlarını , venv veya Docker'ı kullanmayı deneyin .
n1k31t4

11

Ubuntu için PIL artık çalışmıyor. Ben her zaman:

PIL için eşleşen dağıtım bulunamadı

Bu yüzden python-imaging'i kurun:

sudo apt-get install python-imaging

6

Aynı sorunu yaşıyorum, ancak kurulumu ile çözüldü python-dev .

PIL'i yüklemeden önce aşağıdaki komutu çalıştırın:

sudo apt-get install python-dev

Ardından PIL'i yükleyin:

pip install PIL

10
Bu benim için Ubuntu 14'te işe yaramadı . Önce python-dev'i yüklesem de yüklemesem de pip install pilsonuçlanır No distributions at all found for PIL.
aliteralmind

5

Yükleme sırasında bazı hatalar yaşadım. Birisinin buna sahip olması durumunda. Buna rağmen zaten yönetici kullanıcı altında oturuyordum, ama kök değil.

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

"Sudo" eklemek sorunu çözdü, sudo ile çalıştı:

~/Documents/mv-server: $ sudo pip install Pillow

5

CentOS için:

yum install python-imaging

5

Bütün cevapları denedim ama başarısız oldum. Doğrudan resmi siteden alın ve yükleme başarısı oluşturun.

  1. Siteye git Http://www.pythonware.com/products/pil/#pil117
  2. Kaynağı indirmek için "Python Imaging Library 1.1.7 Source Kit" e tıklayın.
  3. tar xf Imaging-1.1.7.tar.gz
  4. cd Imaging-1.1.7
  5. sudo python setup.py install


3

Bunu dene:

sudo pip install PIL --allow-external PIL --allow-unverified PIL

2
Bu yanıt doğru olsa da, lütfen bir açıklama ekleyin. Temel mantığın uygulanması sadece kodu vermekten daha önemlidir, çünkü OP ve diğer okuyucuların bu ve benzeri sorunları kendileri düzeltmelerine yardımcı olur.
CodeMouse92

Bu komutun zaman aşımına uğradığını unutmayın. Her neyse, birkaç hafta içinde kullanımdan kaldırılacak. sudo pip install --allow-external --allow-unverified PIL PILşimdilik da işe yarayabilir.
Örnek İstatistikler,

3
--allow-externalve --allow-unverifiedikisi de kullanımdan kaldırıldı. pip install pillowdoğru cevaptır.
Dorian

1
Gönderdiğim cevap bana stderr tarafından önerildi. Bu yüzden cevabım güncel değilken, yazdığım zaman değildi. Ayrıca, JasonMc92 (o zamandan beri kaldırıldı) yönelik mesajım için özür dileriz. Tonum çizgisizdi, ama düşüncem devam ediyor. Ön sayfayı kaydırmak ve "temel mantığı vermek" hakkındaki notunuzu kopyalamak / yapıştırmak konusunda tatsız bir şey var. Belki rozet peşindesiniz ve sanırım bu iyi, ancak tutarlılık uğruna, lütfen bu sorunun altında yatan mantığa başarısız olan diğer tüm benzer cevaplar hakkında bir yorum bırakın.
alfonso


3
  • Öncelikle sudo apt-get build-dep python-imaging, ihtiyacınız olabilecek tüm bağımlılıkları sağlayacak olanı çalıştırmalısınız.

  • O zaman koş sudo apt-get update && sudo apt-get -y upgrade

  • Bunu takiben sudo apt-get install python-pip

  • Ve sonunda Pil'i takın pip install pillow


2

Kullanmadan önce paket yöneticisinde arama yapın pip. Arch linux'da PIL alabilirsinizpacman -S python2-pillow


0

Başka bir Python paket aracı var conda . Conda, C ++ ve saf Python olmayan diğer bağlamaları yüklemesi gereken kütüphaneler olduğunda pip'e tercih edilir (inanıyorum). Conda, kurulumunda pip de içerir, bu yüzden hala pip kullanabilirsiniz, ancak aynı zamanda conda'nın avantajlarından da yararlanabilirsiniz.

Conda ayrıca varsayılan olarak IPython , pil ve diğer birçok kütüphaneyi de kurar . Beğeneceğini düşünüyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.