我编写了一个使用 Tkinter 显示窗口的 python 代码。 它还调用同一文件夹中存在的另一个 python 文件。 我使用 py2exe 将 .py 文件转换为 .exe 文件。但我面临以下问题:
输出(在 dist 文件夹中)是一组文件,而不是单个可执行文件。
- 根据我的理解,使用
'bundle_files':1,'compressed':True
,我应该得到一个文件。 - 现在我有两个 .exe 文件和 1 个文件夹:w9xpopen.exe,myframe.py(这是我的文件)和文件夹“tcl”
- 根据我的理解,使用
图标未更改。
- 我在“windows”部分提到了
"icon_resources":[(0,"icon.ico")]
- 我在“windows”部分提到了
下面是我使用的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。
最佳答案
我想出了如何使用 pyinistaller 来做到这一点。 虽然它使 exe 相当大,但我很高兴我只有一个文件。
以下是我所做的:
- 已安装 pyinstaller、pywin32
- 打开命令提示符
- 转到我的代码文件夹
- 使用命令
pyinstaller --onefile --windowed myframe.py
pyinstaller的手册有详细的解释。
关于python - 使用 py2exe 创建单文件可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34475100/