首页 > 解决方案 > 使用 PyInstaller 将 python 脚本编译为 .exe 后运行时,Tkinter 窗口未打开

问题描述

bobux.py在我使用 PyInstaller将 Python 脚本(我命名为 即使我从命令行运行它并使用 重新编译它pyinstaller bobux.py -Fwd all --onefile --icon=icon.ico,我也看不到任何错误。我确实在文件中看到了很多警告build/bobux/warn-bobux.txt,有些甚至显示 Python 无法识别要用 Java 编写的模块,使其无法识别java.<whatever java thing>为 Python 模块。我还在十六进制编辑器中打开了 .exe,并清楚地看到它有 Tkinter 文件。

那么这里有什么问题呢?

这是我编译的原始代码:

from tkinter import Tk, messagebox, Button
from webbrowser import open

# It's literally just a joke program, but idk why it breaks as soon as I compile it. :/

def a():
    open('https://www.youtube.com/watch?v=dQw4w9WgXcQ')

root = Tk()

root.geometry('300x300')
root.title("☺&quot;)

b = Button(root, text='Free robux no scam hahahahahaaha', command=a)
b.pack()

还有我的规范文件:

# -*- mode: python ; coding: utf-8 -*-


block_cipher = None


a = Analysis(['bobux.py'],
             pathex=['C:\\Users\\20059053\\Documents'],
             binaries=[],
             datas=[],
             hiddenimports=[],
             hookspath=[],
             runtime_hooks=[],
             excludes=[],
             win_no_prefer_redirects=False,
             win_private_assemblies=False,
             cipher=block_cipher,
             noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
             cipher=block_cipher)
exe = EXE(pyz,
          a.scripts,
          a.binaries,
          a.zipfiles,
          a.datas,
          [],
          name='bobux',
          debug=False,
          bootloader_ignore_signals=False,
          strip=False,
          upx=True,
          upx_exclude=[],
          runtime_tmpdir=None,
          console=True )

还:

标签: tkinterpyinstallerexepython-3.9

解决方案


推荐阅读