現(xiàn)象:
1、打包之前程序在Pycharm可以正常運(yùn)行
2、通過(guò)Pyinstall -F main.py打包之后閃退,報(bào)錯(cuò)如下

解釋:
在打包之前可以正常運(yùn)行,說(shuō)明所有的包已經(jīng)安裝,并且import成功了。
打包之后報(bào)錯(cuò)的解決辦法
1、在要打包的py文件同級(jí)目錄下新建一個(gè)文件夾package(自己隨便命名一個(gè))。 注意,一定要和打包的py文件同級(jí)目錄。
2、在Pycharm點(diǎn)擊file->setting->project-Python interpreter 然后將鼠標(biāo)放到報(bào)錯(cuò)的庫(kù)名上面,顯示庫(kù)所在路徑。例如上面報(bào)錯(cuò)的attr庫(kù)所在路徑如下圖

3、找到庫(kù)所在文件夾,然后將庫(kù)復(fù)制出來(lái),放到第1步建好的文件夾中。

這里我打包的是main.py。

然后運(yùn)行使用打包命令pyinstaller -F -p package main.py就可以解決問(wèn)題啦。 如果打包之后還是提示有包沒有被發(fā)現(xiàn),同樣的解決辦法,將其復(fù)制到package中,繼續(xù)打包。