【问题标题】:Unhandled exception in script file not found未找到脚本文件中未处理的异常
【发布时间】:2022-10-22 03:12:36
【问题描述】:

我是 Python 新手,刚刚制作了我的第一个应用程序。这是一个简单的密码管理器应用程序,将数据结构存储在 .txt 文件中。我使用 Tkinter 库创建了我的 GUI,一切都按预期工作。将 5 .py 文件编译成单个 .exe 文件没有错误,但是当我尝试运行它时,我更具体地说收到错误“脚本中的未处理异常”: _tkinter.TclError: 无法打开 "C:\Users\cohen\AppData\Local\Temp_MEI96962\base_library.zip\lock_and_key.ppm" 没有这样的文件或目录。

我确实使用了自定义图像来替换程序的窗口图标,它与 .py 文件包含在同一文件夹中。我已经尝试了其他 stackoverflow 帖子中的许多建议解决方案,但似乎没有任何效果。我已经尝试过 root.iconbitmap(.ico 文件的文件路径),也尝试过使用 root.tk.call('wm','iconphoto',root._w,.ppm 文件的文件路径)。我检查了我的图标文件路径中提到的 base_library.zip 文件,但它们不存在,所以我尝试在那里手动添加它们,但仍然是找不到文件的相同错误。

对于为什么会这样,我没有其他想法,在线这一步的教程似乎没有做任何不同的事情。

编辑: 根据要求,这里是错误的屏幕截图和有问题的部分代码。

【问题讨论】:

  • 请包括代码的相关部分以及完整的回溯错误。
  • 另外你用什么程序来编译exe?
  • 我猜问题是您使用了绝对路径,而可执行文件仅适用于编译目录中的相对路径。
  • 我正在测试代码并在 Visual Studio 中编写它,但是当我编译它时,我使用命令提示符运行 pyinstaller 模块,命令为:pyinstaller -w -F MPM.py
  • 我不认为问题出在绝对路径上,因为我使用 sys.path[0] 代码来获取代码所在的当前目录并将其与使用的文件连接起来,所以这应该不是问题。运行编译命令后,我什至将 .exe 移至包含所有图像的目录,但它仍然无法正常工作。

标签: python-3.x user-interface tkinter


【解决方案1】:

我不知道你是否找到了解决方案,但同样的事情发生在我身上:

root = tk.Tk()

root.title("Text Converter")
root.resizable(0, 0)
root.iconbitmap("marte.ico")

myFrame = tk.Frame()
myFrame.pack()

我有这样的代码,每次创建 .exe 时,我都会遇到与图标相关的相同错误。最后,我尝试了以下方法:

root = tk.Tk()

root.title("Text Converter")
root.resizable(0, 0)
root.iconbitmap(r "C:UsersMePycharmProjectspythonProjectReallyProjectmarte.ico")

myFrame = tk.Frame()
myFrame.pack()

在我指出图标或任何类型的图像的地方,我指定了托管它的完整路径。这完全解决了问题,现在我创建的任何程序都可以完美运行。

问候!

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2017-12-08
    • 2013-10-23
    • 2023-03-24
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多