我有这个程序在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
答案 0 :(得分:1)
我希望,在第459行,代码无法加载pickle文件,因此不会在后续行设置ACCOUNT
变量。
然后在第470行,您尝试使用该变量并失败。