說明:原來安裝的python為64位,故安裝的pyinstaller和打包后的exe都為64位。而64位的exe文件在32位的win7操作系統下是無法執行的,顯示不兼容。網上查詢發現,簡單(可能不方便)的方法是采用32位的python重新打包。這里,我使用的是conda構建32位python環境,然后再次打包。安裝Anaconda的方法,感興趣的可以查看。具體操作如下:
構建32位python環境
進入命令提示符窗口
1
2
3
4
5
|
set CONDA_FORCE_32BIT = 1 / / 切換到 32 位 conda create - - name python36 python = 3.6 / / 創建一個python3. 6 的環境,命名為python36 conda info - - envs / / 查看是否添加成功 activate python36 / / 切換到python3. 6 環境 python - - version / / 確認python環境 |
安裝pyinstaller
注:這一步是必須的,如果不在該環境下安裝,還是使用原來的pyinstaller,那么打包的程序仍然為64位
1
2
|
pip - V / / 再次確認是否為 32 位的pip pip install pyinstaller / / 安裝pyinstaller |
然后pyinstaller -F xxx.py
就可以開開心心打包32位的exe程序了。不過如果您的.py文件用到了其它第三方庫,那么還需要在此環境下再次安裝,不然打包成32exe程序會無法運行。。
后記:怎樣知道exe程序是否為32位?
這個還是耽誤了會兒時間的,網上查詢發現是用記事本打開exe程序觀察。然而我用notepad++打開打包的exe程序,發現是這樣:
找了半天也沒找到,怎么看是否為32位。最后想到之前安裝的DTDebug,只能打開32位的exe程序,64位的還打不開。然后先試的64位確定為打不開,后試的32位,打開了。
總結
以上所述是小編給大家介紹的如何使用pyinstaller打包32位的exe程序,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:https://www.cnblogs.com/sfriend/archive/2019/05/25/10923330.html