天天看點

pyinstaller 打包為exe檔案 -基于Pycharm的使用

要在一個沒有python環境的電腦上部署python程式,就需要先将py檔案編譯打包為exe檔案,這樣就省去了安裝編譯環境的麻煩,運作上也更為簡易

将py檔案打包為exe使用的主流工具是pyinstaller

以下是pyinstaller在純pycharm下打包程式的過程:

一、安裝pyinstaller

pyinstaller的安裝主要有兩種方式:

1.使用指令行

在已經安裝了pip的情況下,在指令行輸入

pip intsall pyinstaller
           

2.在pycharm下工具欄點選File -settings,然後進入project interpreter

pyinstaller 打包為exe檔案 -基于Pycharm的使用

點選右上角+号,進入搜尋界面,搜尋pyinstaller

記得在下方框選 Install to user's site packages directory并且記住右邊檔案夾的位置

pyinstaller 打包為exe檔案 -基于Pycharm的使用

點選Install Pcakage即可安裝,安裝成功後IDE右下方會有提示,同時在package界面也會顯示已經安裝

二、為pyinstaller配置環境變量

在系統環境變量中添加之前記住的檔案夾下Scripts的目錄

示例:

C:\Users\DELL\AppData\Roaming\Python\Python36\Scripts

如果沒有配置環境變量,在使用中可能會出現

pyintsaller不是内部或外部指令,也不是可運作的程式或批處理檔案

三、使用pyinstaller打包exe

在Pycharm IDE下方的Terminal即可快速喚出指令行,效果同cmd是一樣的

pyinstaller 打包為exe檔案 -基于Pycharm的使用

常用參數:

-F :将一個或多個py檔案打包為唯一一個exe,是最常用到的參數

-w :打包生成的exe不含控制台(即運作中跳出的黑框),如果不加-w預設生成攜帶控制台的程式,同時也可以使用-c來訓示exe攜帶控制台

注:如果你寫的程式隻有指令行,而沒有類似于pyqt5的圖形界面,不需要去掉控制台選項

-i:打包生成的exe檔案使用使用者指定的圖示

1.正常打包單個檔案:

pyinstaller -F main.py    #控制台程式和GUI程式均适用

pyintsaller -F -w main.py #GUI程式适用,用于隐藏控制台

pyinstaller -F -w -i 圖示.ico main.py#隐藏控制台,并指定exe的圖示
           

2.打包多個檔案需要用到-p參數,表示對其他py檔案的引用

主檔案要在前面,-p後是主檔案引用的其他檔案,用-p加檔案名往後疊加,以此類推

示例:main.py 調用了1.py和2.py,現要将他們同時打包成一個exe檔案,并且去掉控制台,并指定圖示

pyinstaller -F -w -i 圖示.ico main.py -p 1.py -p 2.py 
           

四、python 32 64位打包程式運作問題 

如果系統安裝的是64位的python,打包後的程式隻能在64位的電腦下運作,在32位的電腦下會報錯

如果系統安裝的是32位的python,在32位和64位系統下都能運作,不受影響