[英]compile tkinter to executable using py2exe, having issue with xlrd
[英]Cannot compile two .py files into stand alone executable using py2exe
我无法将两个.py
文件编译成不需要使用py2exe安装的独立可执行文件。 我按照这篇文章中的说明进行操作,并按如下所示编写了安装文件:
from distutils.core import setup
import py2exe
import sys, os
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
windows=[{'script': "main.py"}],
zipfile = None,
)
但是,我的问题是我有两个.py files
,主文件main.py
和background_image.py
文件(包含基本64个图像字符串)。 结果,py2exe分别编译了这两个文件,如您在此图中看到的:
结果,当我尝试运行主编译文件时收到以下错误。
Traceback (most recent call last):
File 'main.py", line 8, in <module>
ImportError: No Module named 'background_image'
这是我的程序来自main.py
的精简版本; 该程序绘制一个带有背景的画布。
import tkinter as tk
from PIL import ImageTk, Image
import background_images
#image variables
background = images.background_image
close_icon = images.close_icon
#root window creation
root=tk.Tk()
root.geometry(600, 600)
#canvas widget
photo = tk.PhotoImage(data=background)
width, height = photo.width(), photo.height()
canvas = tk.Canvas(root, width=width, height=height, bd=-2)
canvas.pack()
canvas.create_image(0, 0, image=photo, anchor="nw")
root.mainloop()
这是background_images.py中的background_images.py
缩短了
background_image = """
iVBORw0KGgoAAAANSUhEUgAA #... continues on
"""
将背景图像添加为数据文件:
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
windows=[{'script': "main.py"}],
zipfile = None,
data_files= [ ("prog",["background_image.py"])]
)
不要使用bundle_files = 1,它有太多问题。 建议使用bundle_files = 2,然后使用例如InnoSetup创建一个文件安装程序。 如果仍不能解决问题,请提供main.py,bg_image.py和setup.py的自包含样本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.