【问题标题】:python --> pyinstaller - .exe file will return "test returned -1"python --> pyinstaller - .exe 文件将返回“测试返回 -1”
【发布时间】:2016-01-03 07:12:40
【问题描述】:

[1] 代码是:

import Tkinter
from Tkinter import *

# Create Tk instance
root = Tkinter.Tk(className="test")


# Open Notepad
def openNotepad():
    import pywinauto
    app = pywinauto.Application.start("notepad.exe")


# Add menu 
menu = Menu(root)
root.config(menu=menu)
filemenu = Menu(menu)
menu.add_cascade(label="01 File", menu=filemenu)
filemenu.add_command(label="New", command=openNotepad)

# Pack all
root.mainloop()

[2] 如果我双击 .py 文件,代码就可以工作。

如果我只留下 openNotepad() 函数,那么 .exe 就可以了。

根据文档:https://github.com/pyinstaller/pyinstaller/wiki/Supported-Packages,支持 pywinauto 库。

如果我只留下 Tkinter sn-p,.exe 就可以工作。

因此,请分享我做错了什么,或者请为 python 2.7x 推荐其他 python 安装程序。

【问题讨论】:

  • 你使用哪个版本的 PyInstaller?
  • 大家好。我使用了pyinstaller 3.0 + python 2.7.10,通过注释掉开头的行:文件\PyInstaller\hooks\hook-PIL.py和hook-PIL.SpiderImagePlugin.py中的excludedimports,问题就解决了。我希望这对其他人有帮助。
  • 太棒了!请回答您自己的问题并将其标记为已接受以向其他人表明它。

标签: python tkinter pyinstaller pywinauto


【解决方案1】:

通过注释掉文件\PyInstaller\hooks\hook-PIL.py和hook-PIL.SpiderImagePlugin.py中以excludeimports开头的行,问题就解决了。

【讨论】:

    【解决方案2】:

    尝试将每个exit()quit()os._exit() 替换为sys.exit()。 我看到您的代码中没有任何这些,但其他人可能会发现此建议很有用。

    我的版本:python3.4、pyinstaller3.1.1

    【讨论】:

      猜你喜欢
      • 2019-10-23
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多