py2exe一直让我疯了。
我试图捆绑一个没有GUI或任何东西的小应用程序,即使我没有使用TKinter,py2exe仍然希望将它捆绑在.exe中。
我是这方面的初学者,所以如果我的应用代码不是那么好,那就是原因。
以下是我的代码
from PIL import Image
import glob
import os
file_types = ("*.jpg", "*.jpeg", "*.tif", "*.tiff", "*.png", "*.bmp")
image_list = []
for images in file_types :
image_list.extend(glob.glob(images))
maxW = 1920
maxH = 1920
def ResizeImages(image_list) :
if not os.path.exists("done") :
os.makedirs("done")
for image in image_list :
img = Image.open(image)
imgnoext = os.path.splitext(image)[0]
width = img.size[0]
height = img.size[1]
ratio = float(width) / float(height)
if width > maxW :
height = int(maxW / ratio)
resized = img.resize((maxW,height), Image.ANTIALIAS)
resized.save("done/" + imgnoext + ".jpg", format="JPEG", quality=90)
elif height > maxH :
width = int(maxW * ratio)
resized = img.resize((width,maxH), Image.ANTIALIAS)
resized.save("done/" + imgnoext + ".jpg", format="JPEG", quality=90)
else :
img.save("done/" + imgnoext + ".jpg", format="JPEG", quality=90)
ResizeImages(image_list)
这是setup.py
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {
'py2exe': {'bundle_files': 1, 'compressed': True}},
console = [{'script': "resize.py"}],
zipfile = None
)
每当我尝试捆绑它时,都会发生这种情况:
running py2exe
11 missing Modules
------------------
? PIL._imagingagg imported from PIL.ImageDraw
? PyQt4 imported from PIL.ImageQt
? PyQt5 imported from PIL.ImageQt
? PySide imported from PIL.ImageQt
? _grabscreen imported from PIL.ImageGrab
? _imaging_gif imported from PIL.GifImagePlugin
? _util imported from PIL.ImageCms
? cffi imported from PIL.Image, PIL.PyAccess
? readline imported from cmd, code, pdb
? win32api imported from platform
? win32con imported from platform
OOPS: tkinter 2
我做错了什么?我需要将其捆绑,以便它可以在任何安装了Python或不安装Python的Windows机器上运行。
答案 0 :(得分:0)
我已经尝试过,并且无法使用py2exe捆绑它。
如果其他人遇到此问题,请使用PyInstaller。它第一次工作,没有任何问题。