Nie można zainstalować PIL po Mac OS X 10.9

132

Właśnie zaktualizowałem swój system Mac OS do 10.9 i odkryłem, że niektórych (wszystkich?) Z moich modułów Pythona już nie ma, zwłaszcza modułu Image.

Więc próbuję wykonać sudo pip install pil, ale pojawia się ten błąd:

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/tk.h:78:11: fatal error: 'X11/Xlib.h' file not found

#      include <X11/Xlib.h>

               ^

1 error generated.

error: command 'cc' failed with exit status 1

Mój Xcode jest aktualny i nie mam pojęcia. Czy to możliwe, że PIL nie jest jeszcze kompatybilny z 10.9?

Vincent Audebert
źródło
Brak odpowiedzi, ale czy wypróbowałeś Pillow? pypi.python.org/pypi/Pillow/2.2.1 - jest to bardzo dobrze obsługiwane narzędzie PIL.
James Addison,
4
@JamesAddison Pillow 2.2.1 działa podobnie.
Adam J. Forster
chceszpip install pillow
kilodżule
W systemie macos 10.10.5 Yosemite, pip install Pillow==5.0.0działa, instaluje .../site-packages/PIL. (Dlaczego 5.0.0? Zobacz problem ).
denis

Odpowiedzi:

211

Pracowały dla mnie następujące:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11
sudo pip install pil

AKTUALIZACJA:

Ale poniżej jest bardziej poprawne rozwiązanie dostarczone przez Willa.

otwórz terminal i wykonaj: xcode-select --install

Dmitrij Demidenko
źródło
2
Twoja odpowiedź ma literówkę, to MacOS10.9.sdknie MacOS0.9.sdk.
Bryan Veloso,
3
Jeśli chcesz mieć również PIL / Poduszkę z obsługą zlib / png / zip, musisz również zrobić:ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/zlib.h /usr/local/include/
gromgull
26
sugerowane polecenie wywołuje okno dialogowe błędu z Apple. Najpierw pyta, czy chcę pobrać XCode (który mam), czy „zainstalować”. Wybieram zainstaluj. Pojawia się umowa EULA, akceptuję, po czym pojawia się okno dialogowe błędu: „Nie można zainstalować oprogramowania, ponieważ nie jest ono obecnie dostępne na serwerze aktualizacji oprogramowania”.
Matt Feifarek,
7
Napotkałem błąd Downloading/unpacking pil Could not find any downloads that satisfy the requirement pil Some externally hosted files were ignored (use --allow-external pil to allow). Cleaning up... No distributions at all found for pil Storing debug log for failure in /Users/Usermania/.pip/pip.log
Leonid
1
ln: / usr / local / include / X11: Nie ma takiego pliku lub katalogu, którego nie mam / usr / local / include / X11?
mucha prosiaczka
102

otwórz terminal i wykonaj:

xcode-select --install

Willem
źródło
2
Pytanie nie dotyczy instalacji Xcode, ale PIL ... Ponadto wyjaśniłem, że mam już zainstalowany i aktualny Xcode.
Vincent Audebert
5
To również rozwiązuje problem (instaluje narzędzia wiersza poleceń, które nie są instalowane domyślnie z Xcode).
Rob Osborne
1
To wszystko, co musiałem zrobić, bez tych dowiązań symbolicznych.
joerick
@VincentShowcaseWorkshop Xcode nie instaluje domyślnie narzędzi wiersza poleceń. Musiałem to zrobić, aby ominąć ten sam problem, co systemy operacyjne, mimo że z całą pewnością miałem już zainstalowany Xcode i aktualny w systemie Mac OS 10.9.2.
Tony Adams,
To rozwiązuje problem z wersją Mac 10.11.2 (15C50).
webtweakers
34
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11/ /usr/local/include/X11

pomaga mi! os x 10.9

pip install pillow

ale! po instalacji pip ...

*** ZLIB (PNG/ZIP) support not available

i wreszcie naprawiam to, uruchamiając:

xcode-select --install

następnie zainstaluj ponownie poduszkę

pip install pillow

PIL SETUP SUMMARY
    --------------------------------------------------------------------
    version      Pillow 2.2.1
    platform     darwin 2.7.5 (default, Aug 25 2013, 00:04:04)
                 [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]
    --------------------------------------------------------------------
    --- TKINTER support available
    --- JPEG support available
    --- ZLIB (PNG/ZIP) support available
    --- TIFF G3/G4 (experimental) support available
    --- FREETYPE2 support available
    --- LITTLECMS support available
    --- WEBP support available
    --- WEBPMUX support available
    --------------------------------------------------------------------
klem4
źródło
zaktualizowany do Mavericks wczoraj i właśnie dzisiaj zaczynałem projekt, właśnie zaoszczędziłeś mi godzin bólu serca DZIĘKI!
javiercf
To musiałem zrobić $> ARCHFLAGS = -Wno-error = unused-command-line-argument-hard-error-in-future pip install poduszka
Sudhir
1
dzięki! do użytku 10.10: sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers / X11 / usr / local / include / X11
rozochkin
14

Działa dla mnie (OS X Yosemite 10.10.2 - Python 2.7.9):

xcode-select --install
sudo pip install pillow

Spróbuj tego, aby to sprawdzić:

from PIL import Image
image = Image.open("file.jpg")
image.show()
x86
źródło
11

Oto, co zrobiłem, niektóre kroki mogą nie być konieczne tylko dla PIL, ale i tak potrzebowałem libpng i innych:

1) Uruchom instalację xcode, użyj tego polecenia lub pobierz aktualizacje ze sklepu z aplikacjami:

xcode-select --install

1b) Dodaj opcjonalne narzędzie Command Line Tools, w Mountain Lion była to opcja na stronie pobierania xcode, ale teraz musisz zarejestrować się przy użyciu swojego identyfikatora Apple i pobrać z: https://developer.apple.com/downloads/

Poszukaj narzędzi wiersza polecenia (OS X Mavericks) dla Xcode

2) Zainstaluj wszystko, co jest potrzebne do Pythona (używając brew), myślę, że możesz również użyć portu:

brew install readline sqlite gdbm
brew install python --universal --framework 
brew install libpng jpeg freetype

W razie potrzeby odłącz / połącz ponownie, np. W przypadku aktualizacji.

3) Zainstaluj Pip i wymagane moduły:

easy_install pip 
sudo pip install setuptools --no-use-wheel --upgrade

4) Wreszcie działa to bez błędów:

sudo pip install Pillow

UPDATE 11/04/14: repozytorium PIL nie otrzymuje już aktualizacji ani wsparcia, więc należy używać Pillow. Poniższe informacje są teraz przestarzałe, więc trzymaj się poduszki.

sudo pip install pil --allow-external pil --allow-unverified pil

AKTUALIZACJA (STARY): To samo dotyczy montażu poduszki (widelca PIL) i należy o tym wspomnieć, ponieważ w większości przypadków PIL szybko zastępuje. Zamiast instalować pip w kroku 4, uruchom to:

sudo pip install Pillow

Mam nadzieję, że to komuś pomoże!

radtek
źródło
Krok 4) może kończyć się czymś podobnym _imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found. Ale można to rozwiązać, wykonując stackoverflow.com/questions/20325473/… .
Królik Bugs
montujesz pil czy poduszkę? PIL jest przestarzały, zaktualizuję to.
radtek
Nieważne. PIL lub Pillow, może być nadal przydatne dla niektórych osób, aby rozwiązać problem z linkami symbolicznymi freetype / freetype2. Ale dzięki!
Królik Bugs
Tak, dodałem rzeczy w kroku 2 do odłączenia / połączenia w przypadku aktualizacji. Jeśli czegoś brakuje, możesz edytować i zaakceptuję?
radtek
1
sudo pip install pil --allow-external pil --allow-unverified pil pomógł mi w 2015
fun_vit
9

zainstalowanie narzędzi wiersza poleceń rozwiązało problem

musisz je zainstalować osobno, ponieważ nie są one teraz częścią pakietów w xcode:

https://developer.apple.com/downloads/index.action?=command%20line%20tools#

Formulka
źródło
1
Zdecydowanie wolę takie podejście. Nienawidzę tworzenia niestandardowych linków symbolicznych z pakietami systemowymi ... nigdy nie wiesz, co się
zepsuje
Wygląda na to, że teraz jest to zły adres URL.
Matt Feifarek,
@MattFeifarek ten URL działał dla mnie dzisiaj. Musiałem zalogować się za pomocą konta dewelopera, ale potem trafiłem na odpowiednią stronę pobierania narzędzi wiersza poleceń.
Tony Adams
8

Żaden z tych nie działał dla mnie .. Ciągle otrzymywałem:

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
error: command 'cc' failed with exit status 1

Więc znalazłem obejście z następującym rozwiązaniem:

sudo export CFLAGS=-Qunused-arguments
sudo export CPPFLAGS=-Qunused-arguments
sudo pip install PIL --allow-external PIL --allow-unverified PIL

W ten sposób mogłem zainstalować.

tonhozi
źródło
To jest ten, który naprawił to dla mnie. Jeśli pracujesz w środowisku wirtualnym, nie potrzebujesz polecenia sudo.
Eric
Dziękuję Ci! Działa to w środowisku wirtualnym Python. Nie mam aktualnie zainstalowanego Xcode, więc zaoszczędził mi to czas pobierania.
Jamie Counsell
Działa to świetnie dla starego xcode w 10.8, czy działało dla Mavericks?
radtek
6

Miałem podobny problem: instalacja poduszki nie powiodła się clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future], instalacja narzędzi wiersza poleceń nie powiodła sięCan't install the software because it is not currently available from the Software Update server. , a nawet po ręcznej instalacji narzędzi wiersza poleceń kompilacja PIL nie powiodła się.

Dzieje się tak, ponieważ brzęk w najnowszej wersji xcode nie ostrzega o nieznanych flagach kompilatora, ale raczej zatrzymuje kompilację z twardym błędem.

Aby to naprawić, po prostu uruchom export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"na terminalu przed próbą kompilacji (instalacją pil).

nicolaslara
źródło
5

Po prostu biegnij

pip install pil --allow-external pil --allow-unverified pil

jqualls
źródło
3

To moje kroki w systemie Mac OS 10.9.1

1. sudo su
2. easy_install pip
3. xcode-select --install
4. pip install --no-index -f http://dist.plone.org/thirdparty/ -U PIL
saranpol
źródło
2

Możesz użyć Homebrew do zainstalowania http://brew.sh

brew tap Homebrew/python
brew install pillow
rchapman
źródło
Cześć rchapman. Kiedy biegnę brewdo zainstalowania samueljohn / python / poduszka, daje taki komunikat: pillow-2.5.1 already installed, it's just not linked. A przed tym, istnieje 15 ostrzeżenia takie jak: Could not tap homebrew/python/cpyrit-cuda over samueljohn/python/cpyrit-cuda. Jakieś pomysły, dlaczego tak się dzieje? Albo jak mogę połączyć poduszkę?
0xmtn
2

Upewnij się, że masz zainstalowane narzędzia wiersza poleceń w swoim xcode. Następnie wykonaj:

sudo pip install pil --allow-external pil --allow-unverified pil
user3643204
źródło
Udało mi się go zainstalować bez narzędzi wiersza poleceń, używając Xcode for Mavericks.
radtek
2

Wystąpił następujący błąd

building 'PIL._imagingft' extension
_imagingft.c:62:10: fatal error: 'freetype/fterrors.h' file not found

#include <freetype/fterrors.h>

         ^

1 error generated.

error: command 'cc' failed with exit status 1

Rozwiązaniem tego problemu było dowiązanie symboliczne freetype2 do dowolnego typu i to rozwiązało problem.

Geoffrey
źródło
2

Nie chciałem instalować XCode (nie używam go) i nie lubię bawić się katalogiem aplikacji. Wyciągnąłem z wielu odpowiedzi w tym poście i następujące dwa kroki działają dla mnie z 10.9.5:

sudo easy_install pip
sudo pip install pillow

Wydało mi się dziwne, że do zainstalowania pip musiałem użyć easy_install. Ale pip nie chciał dla mnie pracować przed tą (ponowną) instalacją.

CyberFonic
źródło
1

Znalazłem rozwiązanie ... Musisz połączyć symboliczne X11 w ten sposób, ln -s /opt/X11/include/X11 /usr/local/include/X11a potem sudo pip install pilpowinno działać.

Vincent Audebert
źródło
nie działa dla mnie ... czy zaktualizowałeś swój xcode, zanim zaczął działać? czy wielokrotnie restartowałeś Maca? to mnie frustruje. ughs.
bonbon.langes
Zrobiłem wcześniej aktualizację xcode i ponownie uruchomiłem komputer Mac, nawet jeśli nie jestem pewien, czy jest to pomocne. Może droga do twojego X11 nie jest dla ciebie taka sama. Może wypróbuj inne odpowiedzi.
Vincent Audebert
1

Ponowne użycie odpowiedzi @ DmitryDemidenko, tak to zadziałało dla mnie:

ln -s  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /usr/local/include/X11

i wtedy

sudo pip install -U PIL --allow-external PIL --allow-unverified PIL
Dimosthenis Kontogiorgos
źródło
1

Wykonaj poniższe polecenia. Działa jak urok w systemie Mac OS 10.9.5

easy_install pip

sudo pip install setuptools --no-use-wheel --upgrade

sudo pip zainstaluj poduszkę

Najlepsze, Theo

Theophanis Hadjistasi
źródło
0

To jest to co zrobiłem:

Pierwsza aktualizacja do Xcode 5 (mam 10.9). Następnie wykonaj następujące polecenia w terminalu:

$ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk
$ ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 usr/include/
William Monroe
źródło
1
Podobnej odpowiedzi udzielono i zaakceptowano dwa tygodnie temu. Nie widzę twojej dodatkowej wartości ...
Soravux
Cóż, ta odpowiedź ma inne ścieżki niż przyjęta. Dodałem tę wersję jako komentarz do zaakceptowanej odpowiedzi. Polecenie tosudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers/X11 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/X11
osa
0

Bardziej kompletne rozwiązanie wymaga instalacji podsystemu Xquartz X11, który od kilku lat budowany jest poza firmą Apple. Oto kroki, które zastosowałem, aby to wszystko działało

  1. Zainstaluj XQuartz z http://xquartz.macosforge.org/landing/
  2. Biegać sudo pip install pillow
Sammy Spets
źródło
0

Ponieważ przyjęta odpowiedź jest właściwa, xcode-select --installale niektórzy ludzie (w tym ja) mogą się spotkaćCan't install the software because it is not currently available from the Software Update server Jeśli używasz oprogramowania w wersji beta (ponieważ używam teraz Yosemite i miałem ten sam problem), POTRZEBUJESZ osobno pobrać CLT, ponieważ NIE jest ono uwzględnione XCode (nawet xcode beta) Udaj się na developers.apple.com i zdobądź narzędzia CLT dla swojego systemu operacyjnego;)

PS Nie potrzebujesz XQuartz do pracy PIL lub Pillow

Mohibeyki
źródło
0

Moja maszyna, która została niedawno zaktualizowana z OS 10.8 -> 10.9, utknęła w pętli między xcrun i lipo.

Zmień nazwę / usr / bin / lipo na / usr / bin / lipo_broken

Więcej informacji na temat rozwiązywania problemów można znaleźć w tym wątku:

xcrun / lipo zawiesza się z OS X Mavericks i XCode 4.x

Ben Russell
źródło
0

Zamiast tego zainstaluj poduszkę :

sudo pip install pillow
Bobo
źródło
Nadal potrzebujesz całej konfiguracji wstępnej, tak jak w przypadku PIL
radtek
@radtek no you don't on Mac 10.9. Czy faktycznie wypróbowałeś polecenie, zanim zagłosowałeś w dół na moją odpowiedź?
Bobo
Nie przegłosowałem twojej odpowiedzi, zagłosowałem za, ale tak, próbowałem. Zrobiłem to już kilka razy i właściwie nie potrzebowałem kroku 1b, ale wszystkiego innego, czego potrzebowałem.
radtek
0
ln -s /usr/local/include/freetype2 /usr/local/include/freetype
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pil
softvar
źródło
0

Spróbuj tego:

ln -s /usr/local/include/freetype2 /usr/local/include/freetype
Damian Gołojuch
źródło
3
Dodaj trochę więcej i wyjaśnij, dlaczego powinien to zrobić.
Sir l33tname
0
sudo pip uninstall pillow
pip install pillow

pracował dla mnie. Używam Pythona 2.7.9 na Yosemite. import PILteraz działa dla mnie.

kilodżule
źródło
0

Instalowanie PIL (Imaging.1.1.7) w systemie Mac OSC 10.10 Yosemite. Wypróbowałem wiele zalecanych tutaj poprawek, ale z każdą napotkałem problemy. W końcu rozwiązałem ten problem, edytując plik setup.py w taki sposób, że:

TCL_ROOT = "/ opt / X11 / include"

który przekazuje odpowiednią ścieżkę włączania dla X11 w kompilacji _imagingtk.c, co było przyczyną problemu. Pracował natychmiast po zmianie.

Keith Bush
źródło
0

Przeniosłem się z pyenvdo virtualenvi to rozwiązało mój problem.

ipeacocks
źródło
-4
  1. ln -s / opt / X11 / include / X11 / usr / local / include / X11
  2. pip zainstaluj pil bez sudo
Siergiej
źródło