2

내가 윈도우 7 에 OS X에서 포트에 파이썬 프로그램을 시도하고이 프로그램은 예를 들어 Tkinter를 PIL PNG은 ActiveState 7 ZLIB (PNG/ZIP)를 사용할 수 없습니다 지원

self.logoImg = ImageTk.PhotoImage(Image.open('GrowthPathLogo.png')) 
와 PNG로 처리

코드가 실패했습니다 IOError : decoder zip not available

나는 pip와 함께 pip를 설치하려고 시도했습니다. 그런 다음 나는 핍으로 건축하려고합니다. 빌드 프로세스가 끝나면 png/zlib에 대한 지원이 없다고보고합니다.

Windows에서 python.org 설치와 동일한 오류가 발생합니다.

저는 막혔습니다. 저는 C 라이브러리를 만드는 데 능숙하지 않습니다. 또한 핏이 어떻게 작동하는지 알지 못합니다. GNU zlib 라이브러리가 설치되어 있지만 전혀 도움이되지 않습니다. Visual C++ 2008 Express가 설치되어 있고 pip가 정상적으로 컴파일하기 때문에 적어도 작동합니다.

답변

7

Christoph Gohlke가 유지 관리하는 here 빌드를 사용해보세요. PIL을 직접 만들려면 README에 언급 된 여러 라이브러리가 필요합니다 : libjpeg, zlib, freetype2 및 littleCMS. Visual C++ 또는 MinGW를 사용하여 zlib에 연결하는 방법은 USAGE.txt (zlib125-dll.zip)를 참조하십시오.

+0

감사합니다. 언급 한 바이너리 빌드를 사용 했으므로 이제 작동합니다. –

+1

바이너리 빌드가 정확히 내가 필요로했던 것입니다. 감사! –

5

나는이 질문이 오래된 것임을 알고 있지만 사람들이 저와 같은 문제에 부딪혔을 때를 대비해서 대답하고 싶습니다.

Christoph Gohlke의 빌드는 작동 할 때 훌륭합니다. 그러나 파이썬 2.7 및 가장 중요한 64 비트를 사용하는 win7 컴퓨터에는 PNG 지원 (zlib 지원)을 사용하는 미리 컴파일 된 바이너리가 없습니다. 해당 페이지의 Pillow 64bit Binary는 easy_install에서 실패하고 내 컴퓨터에 설치할 수 없습니다.

그래서이 문제를 해결하고 바이너리가 작동하지 않으면 zlib 지원을 통해 스스로 베개를 만들어야합니다. 이렇게하려면 최신 베개 소스를 다운로드해야합니다. setup.py ZLIB_ROOT 라인 수정 말 :

ZLIB_ROOT = './zlib' 

지금 당신은뿐만 아니라 Win64를 비트에 대한 ZLIB를 구축해야, 그 까다로운 부분입니다. 자신의 사이트에서 최신 zlib 소스를 다운로드하십시오 (1.2.5/1.2.8에서 테스트). 64 비트 용 Visual Studio 명령 프롬프트 열기 (매우 중요) 내 명령 프롬프트는 VS2012 x64 크로스 툴 명령 프롬프트라고 불 렸습니다.

이동합니다 ZLIB 소스 디렉토리에 실행 : 이제

nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF" OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" 

는 다음과 같은 파일 소스 디렉토리에 있어야한다 :

zlib.h 
zconf.h 
zutil.h (not sure this is needed) 
zlib.lib 
zdll.lib 

nmake -f win32/Makefile.msc 

이 작업 시도 나던 경우

베개 소스 디렉토리의 "zlib"디렉토리에 복사하십시오. "python setup.py build_ext -i" 을 사용하여 베개 설치 "python setup.py install"

베개는 이제 ZLIB (png)를 지원해야합니다. 이전 Pillow/PIL 설치가있는 경우 _imaging.pyd 및 _imagingmath.pyd를 Python 또는 가상 환경의 패키지 설치 폴더에 수동으로 복사하여 새로 컴파일 된 파일이 있는지 확인해야 할 수 있습니다.

이제 _imaging을 가져올 수 있으며 png가 지원됩니다.

같은 방식으로 Libjpeg를 추가하고 필요할 경우 수동으로 컴파일 할 수도 있습니다.

호프는이 문제가 발생한 사람을 돕습니다.

+0

당신의 노력에 감사드립니다! 문제를 해결하는 유일한 도움이되는 대답입니다. – renadeen

관련 문제