python - 使用 py2exe 创建单文件可执行文件

标签 python tkinter py2exe distutils

我编写了一个使用 Tkinter 显示窗口的 python 代码。 它还调用同一文件夹中存在的另一个 python 文件。 我使用 py2exe 将 .py 文件转换为 .exe 文件。但我面临以下问题:

  1. 输出(在 dist 文件夹中)是一组文件,而不是单个可执行文件。

    • 根据我的理解,使用 'bundle_files':1,'compressed':True,我应该得到一个文件。
    • 现在我有两个 .exe 文件和 1 个文件夹:w9xpopen.exe,myframe.py(这是我的文件)和文件夹“tcl
  2. 图标未更改。

    • 我在“windows”部分提到了"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。

最佳答案

我想出了如何使用 pyinistaller 来做到这一点。 虽然它使 exe 相当大,但我很高兴我只有一个文件。

以下是我所做的:

  1. 已安装 pyinstaller、pywin32
  2. 打开命令提示符
  3. 转到我的代码文件夹
  4. 使用命令pyinstaller --onefile --windowed myframe.py

pyinstaller的手册有详细的解释。

关于python - 使用 py2exe 创建单文件可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34475100/

相关文章:

python - 将一些 python 脚本打包为 Linux 的可执行文件

python - 如何在 Python3 中像 printf 一样打印?

python - 如何在 Tkinter 中从全屏 Canvas 中删除小边框

python - Spacy 获取特定单词的位置和标签

python - Python 的图标覆盖问题

python - py2exe:忽略跳过存档

python - 切割列表列表

python - 功能问题程序

python - 继承自 Tkinter.Canvas - 调用 super 会导致错误

python - 如何在 Python 中使用 tkinter 编写带有 GUI 的计算器?