成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

如何解決Pyinstaller打包運行提示AttributeError

Pyinstaller是一款能將Python腳本打包成EXE可執(zhí)行文件的工具。與其他兩款類似的工具py2exe和cxfreeze相比,小編認為Pyinstaller比較簡單粗暴。然而,很多人在使用Py

Pyinstaller是一款能將Python腳本打包成EXE可執(zhí)行文件的工具。與其他兩款類似的工具py2exe和cxfreeze相比,小編認為Pyinstaller比較簡單粗暴。然而,很多人在使用Pyinstaller進行打包時會遇到一個問題:在python解釋器中運行沒有任何問題的腳本,但用Pyinstaller打包之后,無法運行。那么為什么會出現(xiàn)這個問題呢?該如何解決呢?接下來,小編將手把手教大家如何解決這個問題。

問題原因分析

首先,讓我們看一下小編寫的一個python腳本,功能相當簡單,用tkinter模塊創(chuàng)建窗口,然后調(diào)用showinfo顯示一個提示框。在解釋器上運行是完全沒有任何問題的。

接下來,我們嘗試使用Pyinstaller進行打包。在命令提示符中cd到腳本所在目錄,然后運行Pyinstaller -F 腳本名。通常情況下,如果腳本能正常運行,打包也應(yīng)該能成功。

然而,當我們找到dist目錄并雙擊運行程序時,發(fā)現(xiàn)程序只是閃過而已。此時,遇到這種一閃而過的問題,我們無法看到命令行提示的錯誤信息,應(yīng)該怎么辦呢?其實很簡單,我們只需要在命令行下去運行它就行了。在dist目錄下運行生成的exe文件,此時可以看到錯誤提示:

AttributeError: 'module' object has no attribute 'messagebox'

解決方法

現(xiàn)在讓我們回顧一下我們的代碼。有沒有只聲明了tkinter主模塊,但沒有聲明其下的messagebox子模塊呢?所以,遇到這樣的問題,即"object has no attribute"提示,我們應(yīng)該去看看代碼。

聲明相關(guān)的模塊即可。在代碼中加入import 即可。

現(xiàn)在重新運行經(jīng)過Pyinstaller -F打包后的程序,問題肯定得到解決了。

至此,問題解決完畢。希望本文對大家有所幫助。

標簽: