說明:原來安裝的python為64位,故安裝的pyinstaller和打包后的exe都為64位。而64位的exe文件在32位的win7操作系統下是無法執行的,顯示不兼容。網上查詢發現,簡單(可能不方便)的方法是采用32位的python重新打包。這里,我使用的是conda構建32位python環境,然后再次打包。安裝Anaconda的方法,感興趣的可以查看。具體操作如下:
更好的閱讀體驗可訪問 這里。
構建32位python環境
進入命令提示符窗口
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位
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位,打開了。