摘要:隨著云計算,大數據和人工智能的發展,被稱為“膠水”語言的Python應用到各個領域。由于Python語言是解釋性的,通過它編寫的程序要打包成exe可執行文件才可脫離環境運行,本文介紹如何使用PyInstaller打包Python程序為exe可執行文件的方法。
關鍵字:Python;PyInstaller;可執行文件; 腳本; virtualenv
Research on exe executable file packaging method based on PyInstaller
Tang Lei
(Chongqing Three Gorges Polytechnic College, Chongqing, Wanzhou 404155)
Abstract:With the development of cloud computing, large data and artificial intelligence, Python, known as the "glue" language, has been applied to various fields. Because the Python language is interpretive, programs written by it can only be packaged into exe executable files to run out of the environment. This article describes how to use PyInstaller to package Python programs as exe executable files.
Keywords:Python; PyInstaller; executable file; script; virtualenv
1.引言
Python是一種跨平臺的、開源的、免費的、解釋型的高級編程語言。由荷蘭人Guido van Rossum于1989年發明。Python有著簡單、開發速度快、節省時間和容易學習等特點。近幾年發展迅猛,在2018年3月的TIOBE編程語言排行榜中已晉升到第4名。Python的應用領域非常廣泛,在Web編程、圖形處理、黑客編程、數據分析、網絡爬蟲和科學計算領域都能找到身影。
2.主要技術介紹
在Python環境中,針對Python腳本轉換為Windows平臺上可執行文件的工具為Py2exe和cx_freeze。但這兩種工具都需手動輸入所依賴庫的名稱,無法自動識別,生成過程中易出現錯誤。PyInstaller輸入指定的腳本,首先分析腳本所依賴庫的腳本,然后自動查找復制,把相關腳本和Python解析器放到build目錄中,并在dist目錄中生成可執行文件。
PyInstaller的命令格式如下:
Pyinstaller參數python腳本文件,參數如下:
-F生成單個可執行文件;
-w去掉cmd窗口,GUI界面程序時有用;
-c去掉cmd窗口,控制臺程序時有用;
-p需要加載的類庫路徑;
-I可執行文件的ico圖標。
3.操作過程
3.1.創建Python虛擬環境
Python的虛擬環境可以為一個Python項目提供獨立的解釋環境、依賴包等資源,既能夠很好的隔離不同項目使用不同Python版本帶來的沖突,而且還能方便項目的發布。在Python虛擬環境中使用PyInstaller生成可執行文件,可以去掉多余的依賴包,縮小可執行文件的大小。
(1)使用pip安裝virtualenv文件,在cmd中輸入命令:pip install virtualenv;
(2)創建Python虛擬環境,在cmd中輸入命令進入項目文件夾D:\PythonWorkSpace
\jpgtopdf\,再次輸入命令:virtualenv venv創建Python虛擬環境文件夾;
(3)激活Python虛擬環境,在cmd中輸入命令:cd venv進入虛擬環境目錄,再次輸
入命令:Scripts\activate,前面出現venv符號就表示進入虛擬環境,退出環境輸入命令:Scripts\deactivate。
3.2.配置自定義模塊環境變量
在使用PyInstaller打包為可執行文件的過程中,要保證打包后的可執行文件能正常執行,Python腳本中引入的自定義模塊必須要配置環境才可打包到可執行文件中,配置過程為:在venv目錄中的進入路徑Lib\site-packages,創建文件MyModule.pth,編輯文件并輸入自定義模塊所在路徑D:\PythonWorkSpace\MyModule,完成后保存文件。
3.3打包exe可執行文件
在cmd中輸入命令:cd D:\PythonWorkSpace\jpgtopdf進入Python腳本所在目錄,然后再次輸入命令:pyinstaller -F -w -i pdfconvert.ico PdfConverter.py開始打包exe可執行文件,其中-F表示生成單個可執行文件,由于是GUI程序使用-w參數去掉cmd窗口,-i參數指定生成可執行文件的圖標為pdfconvert.ico,在cmd中出現提示“Building EXE from EXE-00.toc completed successfully.”,表示可執行文件生成完成,在dist目錄中可看到可執行文件PdfConverter.exe。
4.結語
通過以上操作可知,使用PyInstaller打包Python腳本為可執行文件操作步驟簡單,方便快捷。生成的可執行文件在Windows 10與Windows 7操作系統上都能正常運行,表明PyInstaller生成的可執行文件具有良好的移植性,是將Python腳本生成可執行文件的比較理想的選擇。
參考文獻:
[1] 王潤文,王圣輝,邊潤根. Python程序打包成exe可執行文件的方法探究[J]. 無線互聯科技,2017,(12):52.
[2] 明日科技. 零基礎學Python(全彩版)[M].長春:吉林大學出版社,2018.
[3] 百度經驗.Windows:使用virtualenv創建虛擬環境,安裝pip[EB/OL].[2017-5-24]. https://
jingyan.baidu.com/article/73c3ce281660e9e50243d978.html.
[4] 博客園. (轉)為Python添加默認模塊搜索路徑[EB/OL].[2016-5-10]. https://
www.cnblogs.com/shanql/articles/5477483.html.
[5] CSDN博客. Python程序打包成exe可執行文件[EB/OL].[2017-8-2]. https://
blog.csdn.net/zengxiantao1994/article/details/76578421?locationNum=9&fps;=1.
作者簡介:唐磊(1983-),男(漢族),重慶萬州,碩士,實驗師,主要研究方向為軟件工程、網絡工程、移動互聯網應用、云計算與大數據應用。