我是直接在pycharm里面直接打開下方Teminal 窗口 ,然后利用PyInstaller -Fw XXXX.py
來打包的,但是搞出來后有196m,給別人用也不好用。
看了網上大家的說法,說因為我們安裝的是Anaconda,里面很多庫連接進去了很多不必要的其他庫和包,所以一大堆東西全打包進去了。
解決辦法1
有人說用pipenv創建一個虛擬環境來弄,我沒成功,我太菜了。
此處,引用這篇文章 https://blog.csdn.net/frostime/article/details/90523062
步驟如下:
1、安裝 Pipenv
pip install pipenv
2、選一個好目錄做我們的虛擬環境,然后在該目錄下:
pipenv install --python 3.7
這樣就可以在目錄下創建一個局部的環境了,我這里設為 3.7 是因為我自己用的是 3.7,具體設什么根據自己的情況來定。
3、在命令行下激活環境
pipenv shell
輸入這個命令,我們就進入到了新建的虛擬環境。如果你這時候使用命令 pip list
並發現里面只有很少的庫,這就說明我們成功進入虛擬環境了(有點像 Conda)。
4、安裝依賴的庫
在虛擬環境下安裝 Pyinstaller 和你自己的腳本依賴的第三方庫,比如我的就是:
pipenv install pyinstaller
pipenv install pyqt5
pipenv install pymysql
pipenv install geopy
再次查看 pip list 時,如果都成功安裝好了,我們就可以開始打包了。
把你的腳本放到這個目錄下面,運行 pyinstaller,這時我們就會用虛擬環境下的 pyinstaller 來打包庫,由於這個環境比較純凈,所以即便它想亂打包其他的庫也打包不了。
但是我沒成功,maybe我太菜了,哈哈哈
解決辦法2
前面的一個方法沒成功,估計是虛擬環境出了毛病,於是我利用我的筆記本安裝一個純凈的python環境,安裝完就只有idea,然后再idea中創建一個新.py文件,把代碼粘貼進去,點運行。然后提示少庫,安裝缺的庫直到運行成功。
最后在這個.py文件所在的目錄下打開命令行,輸入PyInstaller -Fw XXXX.py
,你會發現exe文件只有10m了。
-F 是打包成exe文件
-w 是保證在運行exe文件是不彈出小黑框