Mac OS X 10.9에서 pip를 사용하여 Python 이미지 라이브러리를 설치하는 중 오류 발생


78

pip를 사용하여 Mavericks에 PIL을 설치하고 싶지만이 오류가 발생합니다.

_imagingft.c:73:10: fatal error: 'freetype/fterrors.h' file not found
#include <freetype/fterrors.h>
         ^
1 error generated.
error: command 'cc' failed with exit status 1

내 명령 줄 도구가 설치되어 있고 최신 상태이며 찾은 모든 힌트가 도움이되지 않았습니다. 컴파일하려면 어떻게해야합니까?

편집 : 방금 확인했는데 freetype도 이미 homebrew를 통해 설치되었습니다.


freetype헤더 가 필요합니다 .
devnull 2013

예, 나는 그것을 추측했습니다;) 또한 이것을 해결하는 방법을 찾았습니다.
Lukas Spieß

답변:


210

freetype2의 특정 버전에 심볼릭 링크하는 대신 다음을 수행하십시오.

ln -s /usr/local/include/freetype2 /usr/local/include/freetype

이렇게하면 freetype2를 업그레이드 할 때마다 심볼릭 링크를 다시 만드는 수고를 덜 수 있습니다.


1
를 사용한 sudo easy_install PIL후이 문제를 발견하면 솔루션이 매력처럼 작동합니다! 감사!
spiralmoon

3
이것은 요세미티에서도 문제를 해결했습니다
stevejpurves

나는 그것이 /usr/local/Cellar/freetype/2.5.5/include/freetype2 있었다 원래 연결하는 것이 가장 좋습니다, freetype2 이미 연결했다
Salyangoz

1
@Salyangoz : / usr / local / include / freetype2는 /usr/local/Cellar/freetype/2.5.5/include/freetype2에 대한 심볼릭 링크입니다 (Homebrew에서 생성). 실제 경로 대신 이것을 사용하면 업그레이드를 수행 할 때 여전히 작동하는 이점이 있습니다.
mcuelenaere

2
나는 실행을했다 Freetype2 엘 카피 탄을 실행 내 컴퓨터에 설치되지 않은, 그래서 brew install freetype이 심볼릭 링크하기 전에
skandocious

31

macports를 사용하면 나를 위해 일한 솔루션 :

sudo port install freetype
sudo ln -s /opt/local/include/freetype2 /opt/local/include/freetype

그런 다음 PIL 빌드 프로세스를 다시 실행하십시오.


내가 코디 덕분으로 업그레이드 할 때이 나를 위해 일
모 J. Mughrabi을

2.2에서 cocos2dx v3.3으로 업그레이드하는 동안 요세미티에서 저를 위해 일했습니다
andrewz

28

이 심볼릭 링크로이 문제를 해결했습니다.

ln -s /usr/local/Cellar/freetype/2.5.1/include/freetype2 /usr/local/include/freetype

나는 이미 homebrew를 통해 freetype을 설치했습니다.


5

이는 freetype> = 2.1.5의 헤더 변경으로 인해 발생합니다. PIL은 freetype 헤더를 포함하는 올바른 문서화 된 방법을 사용하지 않습니다. 이로 인해 freetype이 마침내 오랫동안 사용되지 않는 헤더를 포함하는 방법을 제거했기 때문에 빌드가 실패합니다. 이 문제는 http://freetype.sourceforge.net/freetype2/docs/tutorial/step1.html 상단에 바로 문서화되어 있습니다 .

참고 : FreeType 2.1.6부터는 이전 헤더 파일 포함 체계가 더 이상 지원되지 않습니다. 즉, 다음과 같은 작업을 수행하면 이제 오류가 발생합니다.

#include <freetype / freetype.h>
#include <freetype / ftglyph.h>

이 문제를 PIL 개발자에게 업스트림으로 가져 가서 freetype 헤더를 포함하는 문서화 된 방법을 사용하도록 조언하십시오.

#include <ft2build.h>
#include FT_ERRORS_H


4

많은 시도 끝에 프리 타입 지원없이 PIL을 컴파일하는이 문제를 해결했습니다. 이를 위해, 나는 단순히 내 $ PATH에서 연결을 해제 brew unlink freetype한 다음 pip install PIL==1.1.7.


어쨌든 freetype은 무엇입니까? :)
stantonk

3

Stackoverflow 답변에 설명 된 단계를 사용하여이 문제를 해결했습니다 . 이것은 이상한 위치에 freetype을 설치하는 Xcode의 잘못 인 것 같습니다.



2

내 OSx 에서 .h파일을 /opt/local/include/freetype2엄청나게 찾았습니다. 그래서 입력

sudo ln -s /opt/local/include/freetype2/ /usr/local/include/freetype

효과가있다

아마도 가장 좋은 방법은 /opt/local/includeclang의 include 경로 에 추가 하는 것입니다.


1

osx 요세미티, 이것은 나를 위해 일했습니다.

(virtualenv)

$ ln -s /opt/local/include/freetype2/ /usr/local/include/freetype2
$ pip install pil==1.1.7 --allow-external pil --allow-unverified pil

첫 번째 줄만 실행 한 다음 요세미티에서이 작업을 수행했습니다. 할 수 있었다pip install PIL
아론 애쉬

0

저는 Arch Linux를 사용 중이며이 문제가 발생했습니다. 제 경우에는 https://pypi.python.org/pypi/Pillow/2.2.1#downloads 에서 zip 파일을 수동으로 다운로드하고 압축을 풀어야했습니다 . 나는 다음 파일 편집 _imagingft.c(가)에서 경로를 포함 변경 freetype/fterrors.hfterrors.h전혀 없었다으로 freetype의 하위 디렉토리 /usr/include/freetype2곳에 fterrors.h위치해 있습니다. 마침내 python setup.py install잘 작동했습니다.

편집 : 필자는 이것이 PIL이 아닌 Pillow를 설치하는 솔루션이라고 언급해야하지만 Pillow는 PIL의 포크 일 뿐이며이 문제가있는 다른 사용자에게 여전히 적용될 수 있습니다.


0

이 글과 다른 인터넷 검색을 읽은 후에도 여전히 답을 찾고 있다면 다음을보고 싶을 것입니다.

경고

Pillow> = 2.1.0은 더 이상 "import _imaging"를 지원하지 않습니다. 대신 "PIL.Image import core as _imaging"를 사용하십시오.

에서 여기

이 글을 읽을 때 쯤이면 페이지가 변경되었을 것입니다.하지만 텍스트는 적어도 여기에있을 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.