目錄
一、簡介
將python打包成可執行程序有好多辦法,如pyinstaller、py2exe、cx_Freeze等等,這裏主要介紹Pyinstaller的使用,pyinstaller可以在Windows、Linux、Mac OS X 等操作系統下將 Python 源文件打包成可執行程序,打包好的程序可以在沒有安裝python的環境中運行。
二、基本使用
pyinstaller官網:https://pypi.org/project/PyInstaller/
1.下載pyinstaller
如果使用的pycharm,則在Preferences | Project: ExcelToDb | Project Interpreter中搜索pyinstaller即可
如果使用命令行
pip install pyinstaller 或 pip3 install pyinstaller
2.pyinstaller打包方法
PyInstaller提供了兩種把.py文件包成.exe文件的方式:
第一種:把由.py文件打包而成的.exe文件及相關文件放在一個目錄中。
語法:pyinstaller 應用程序
eg:pyinstaller Hello.py
第二種:加上 -F 參數後把製作出的.exe打包成一個獨立的.exe格式的可執行文件。
語法:pyinstaller -F 應用程序
eg:pyinstaller -F Hello.py
3.pyinstaller注意事項
- 雖然擴平臺,但是pyinstaller也只能在當前操作系統中運行,比如你用mac只能打包出mac上的可執行腳本,要是你想打包出windwos電腦上的可執行程序,你就要用windows執行打包命令。
- 如果你的腳本文件中包含其他腳本,比如hello.py包含自定義腳本(world.py)或是系統腳本(sys.py):則需要在打包的時候加上其他腳本的路徑。
通過-p指定第三方包的路徑,一條路徑對應一個-p
eg:pyinstaller -F -p C:\SystemLib\site-packages -p C:\MyLib Hello.py
- 執行一次打包命令通常會生成兩個目錄一個附件,分別是build、dist、和xx.spec。build是編譯過程中的中間產物,dist是最終可執行程序目錄,spec文件是類似緩存,如果你第二次打包,則需要先把spec刪掉,否則第二次打包會受影響。
4.pyinstaller參數介紹
常用的主要是-F、-p、-i、-w這幾個參數。
- -a:不包含編碼.在支持Unicode的python版本上默認包含所有的編碼
- -c:使用控制檯子系統執行(默認)(只對Windows有效)
- -d:產生debug版本的可執行文件
- -i :指定打包程序使用的圖標(icon)文件
- -F:打包成可執行程序
- -h:查看幫助
- -p:添加使用的第三方庫路徑
- -v: 查看 PyInstaller 版本
- -w:取消控制檯顯示(默認是顯示控制檯的)
舉一個我在使用過程中的例子:
命令:
pyinstaller -F -p C:\SystemLib\site-packages -p C:\MyLib main.py -i C:\image\excel.ico
解釋: 打包 main.py 腳本 main.py包含第三方腳本,一個是系統腳本,一個是自定義腳本 設置可執行程序的圖標爲excel.ico