我编写了一个使用Tkinter显示窗口的python代码。 它还调用同一文件夹中存在的另一个python文件。 我使用py2exe将.py文件转换为.exe文件。但我面临以下问题:
输出(在dist文件夹中)是一组文件而不是单个可执行文件。
'bundle_files':1,'compressed':True
的理解,我应该得到一个文件。图标未更改。
"icon_resources":[(0,"icon.ico")]
以下是我使用的 setup.py :
from distutils.core import setup
import py2exe, glob,sys,os
sys.argv.append('py2exe')
setup(
options={'py2exe':{'bundle_files':1,'compressed':True}},
windows=[{"script":'hr_data_downloader.py',"icon_resources": [(0,"icon.ico")]}],
data_files = [],
zipfile=None
)
我首先遇到运行可执行文件的问题,但经过以下帖子后,我通过明确添加两个dll来纠正它。
Creating single EXE using py2exe for a Tkinter program
py2exe - generate single executable file
如果可以通过修改安装文件或任何其他py2exe文件来创建单个文件可执行文件,请告诉我。 另请告诉我为什么没有为创建的.exe
显示图标如果可以帮助我创建单文件可执行文件,我可以尝试其他分发实用程序,例如py2exe。
答案 0 :(得分:1)
我想出了如何使用pyinistaller来做到这一点。 虽然它使得exe非常大,但我很高兴我只有一个文件。
以下是我的所作所为:
pyinstaller --onefile --windowed myframe.py
pyinstaller手册有详细解释。
答案 1 :(得分:0)
Pyinstaller可用于从python项目生成单个可执行文件。
第1步:
安装Pyinstaller
https://www.pyinstaller.org/downloads.html
https://github.com/pyinstaller/pyinstaller/zipball/develop
第2步:
将文件解压缩到python安装目录(C:\ Python27 \)
将提取的文件夹退回至:pyinstaller
第3步:
现在在Python目录中打开命令提示符,并
use command : cd pyinstaller
(创建exe)
use command : python pyinstaller.py your_python_file.py
(创建单个exe)
use command : python pyinstaller.py --onefile --windowed your_python_file.py
(your_python_file.py:应将其放置在C:\ Python27 \ pyinstaller \中)
输出文件夹:C:\ Python27 \ pyinstaller \ main \ dist