使用py2exe从PyQt程序生成exe

时间:2014-05-01 00:06:34

标签: python pyqt py2exe

我有这个程序在shell [http://pastebin.com/qsfJt8eE]

中工作正常

但是当我尝试使用py2exe生成.exe时出现此错误。

Traceback (most recent call last):
  File "test1.py", line 470, in <module>
NameError: name 'ACCOUNT' is not defined

为什么会这样?

相关的代码块(整个文件的结尾)如下所示:

# line 455
if __name__ == "__main__":
    app = QtGui.QApplication(sys.argv)
    try:
        acc = pickle.load(open("personal_account.p", "rb"))
        ACCOUNT = Account()  # line 460
        MAIN = MainFrame()
        BALANCE = BalanceFrame(MAIN)
        LOANS = LoansFrame(MAIN)
        BORROWS = BorrowsFrame(MAIN)
        POPUP = PopUp(MAIN, BALANCE, LOANS, BORROWS)
        MAIN.show()

        sys.exit(app.exec_())
    finally:
        pickle.dump(ACCOUNT.data, open("personal_account.p", "wb"))  # line 470

1 个答案:

答案 0 :(得分:1)

我希望,在第459行,代码无法加载pickle文件,因此不会在后续行设置ACCOUNT变量。

然后在第470行,您尝试使用该变量并失败。