EMF 이미지 형식, Python PIL (베개) 이미지 라이브러리 및 Python 패키징을위한 Pyinstaller 프로그램의 교차점에서 특이한 문제가 있습니다. Windows 실행 파일로 변환합니다.PIL을 사용하여 jpeg로 변환하는 emf는 python에서 작동하지만 pyinstaller로는 패키징되지 않습니다 exe
EMF 파일을 JPEG로 변환하기 위해 PIL/Pillow를 사용하는 스크립트가 있습니다. 이것은 파이썬에서 파이썬 스크립트를 실행할 때 올바르게 작동합니다. 그러나 Pyinstaller.exe -F를 사용하여 EXE에 패키지하면 작동하지 않습니다. 베개 버전
, 내가 PIL 버전, 나는 말한다 더 이상 메시지가 말하는 간단한 오류 :"Cannot convert image1.emf".
Traceback (most recent call last): File "", line 38, in File "", line 27, in convertImageFile File "C:\Embibe\Git\content-ingestion\src\build\convertImage\out00-PYZ.pyz\PIL .Image", line 2126, in open IOError: cannot identify image file 'image1.emf'
다른 사람이 발생하여 발견 한 작업 솔루션?
필요할 경우 피투성이의 세부 사항은 다음과 ... :-)
OS : 윈도우 7 64 비트 (그러나 모든 소프트웨어는 32 비트)
소프트웨어 :: 파이썬 : 2.7.5 , pyInstaller 중에 : 2.1, PIL : convImg.py image1.emf
작품 올바르게에서는 image1.jpg를 생성 내장 된 파이썬, 베개 :로 2.4.0
파이썬 스크립트 convImg.py:
from __future__ import print_function
import os, sys
from PIL import Image
for infile in sys.argv[1:]:
f, e = os.path.splitext(infile)
outfile = f + ".jpg"
if infile != outfile:
try:
Image.open(infile).convert('RGB').save(outfile)
except IOError:
print("cannot convert", infile)
실행됩니다.
\python27\scripts\pyinstaller.exe -F convImg.py
을 사용하여 exe로 패키지되고 convImg.exe image1
으로 실행하면 위의 필로 및 PIL 버전에 나열된 오류가 발생합니다.
관련 게시물이 여기에 있는데, Pyinstaller troubles with Pillow입니다. pyinstaller 대신 py2app를 사용하는 해결책은 MacOS 용이고 Windows가 필요하기 때문에 나를위한 옵션이 아닙니다. 나는 창, py2exe 및 cx_freeze에 대해 유사한 대안을 사용하는 것을 고려했지만 pyinstaller처럼 자체 내장 exe를 작성하지 않았습니다.
덕분에, 미트
업데이트 : 관련성이있을 수있는 다른 질문을 발견했습니다. 자세한 내용을 이해하고 시도해야합니다. http : // stackoverflow.com/questions/10453858/pil-and-jpeg-library-on-windows – AmitRao
업데이트 : py2exe 설명서의 또 다른 단서는 http://www.py2exe.org/index.cgi/py2exeAndPIL – AmitRao
에 오신 것을 환영합니다. 환상적인 질문을하고 또한 묻고 나서 연구를하는 방법! +1. 두 번째 주석의 링크는 제가 막 소개하려고했던 것입니다. 컴파일 된 응용 프로그램에서 PIL을 사용하여 작업하는 방법입니다 (pyinstaller가 아닌 py2exe를 사용하지만 해결 방법은 동일 할 수 있음). 잘 했어, 친구. –