999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python程序打包成exe可執行文件的方法探究

2017-07-18 17:36:33王瑞文王圣輝邊潤根鄧明月
無線互聯科技 2017年12期

王瑞文+王圣輝+邊潤根+鄧明月

摘 要:Python是一種很流行的開源編程語言,可以在各種領域中用來編寫獨立的程序和腳本。Python免費、可移植、功能強大,而且使用起來相當容易。來自軟件產業各個角落的程序員都已經發現,Python對于開發者效率和軟件質量都十分關注,這無論在大項目還是小項目中都是一個戰略性的優點。但是Python也有一點點小缺陷,那就是Python程序的執行必須要有解釋器的參與。Python的程序如何在沒有解釋器的平臺上使用,很簡單,將Python程序打包成exe可執行文件即可。文章對Python程序打包成exe可執行文件的方法進行探究,以期為Python程序的深入應用提供一定支持。

關鍵詞:Python程序;exe可執行文件;解釋器

Python最大的優點是簡單易學,其語法不像其他編程語言那樣復雜。閱讀一個良好的Python程序就感覺像是在讀英語一樣,它使你能夠專注于解決問題而不是去搞明白語言本身。

Python也被稱為是一門清晰的語言。因為它的作者在設計它的時候,總的指導思想是:對于一個特定的問題,只要有一種最好的方法來解決就好了。Python具有腳本語言中最豐富和強大的類庫,足以支持絕大多數日常應用。在實際開發中,Python常被昵稱為膠水語言,這不是說它會把你的手指粘住,而是說它能夠很輕松地把用其他語言制作的各種模塊聯結在一起。Python的優點還包括可擴充性免費、開源、高級語言、可移植性、解釋性、可擴展性、可嵌入性等。

1 利用Windows平臺工具打包

1.1 Py2exe打包

Py2exe是把Python腳本轉換為Windows平臺上面可以運行的可執行程序的工具。Py2exe的使用方法十分簡單,需要進行3個步驟:(1)根據你本地安裝的Python的版本來選擇要安裝的Py2exe版本;(2)為py文件編寫setup文件。(3)執行setup文件進行編譯。

舉個簡單的例子:如果你有一個名字為Py2exe.py的腳本程序需要打包,使它能夠運行在Windows平臺上,那么首先你需要寫一個設置腳本如setup.py。setup.py示例如下:

#setup.py

from distutils.core import setup

import py2.exe

setup(console=[“py2exe.py”])

然后在cmd中按下面的方法運行mysetup.py:

python mysetup.py py2exe

上面的命令執行后將產生一個名為dist的子目錄,其中包含了py2exe.exe,library.zip這些文件,dist子目錄中的文件包含了程序所必需的東西。

可能出現的問題:(1)error MSVCP90.dll:No such file or directory,解決方法:將該dll寫入dll_excludes中;(2)error.bundle-files 1 not yet supported on win64,對于64位的Py2exe而言,bundle_files選項目前仍不可用,無法生成單文件。

1.2 cx_freeze打包

與Py2exe相同,cx_freeze打包也需要下載并安裝與Python版本相同的程序。生成可執行程序有兩種方式:(1)通過cxfreeze-quickstart生成setup.py文件,定制setup.py文件;(2)執行cxfreeze main.py默認生成dist目錄。可以添加選項,可以通過cxfreeze-h查看幫助文檔。

一般情況下,這兩種都可以正確生成可執行程序。特殊情況下,第一種可能會出現錯誤,第二種不會出現錯誤。第一種需要自己定制setup.py文件,需要手動添加第三方模塊,如果不添加,會出現錯誤。

cx_freeze可以生成exe文件加運行時所依賴的其他多個文件和單獨的msi安裝文件包。和Pyinstaller相比,缺點有:需要手動自己輸入所依賴的庫的名字,無法自動識別;還需要添加對應的path,供其搜索依賴的庫。

2 第三方庫Pyinstaller打包

2.1 第三方庫的安裝

Pyinstaller需要在命令行(控制臺)下用工具安裝,如圖1所示。

pip install pyinstaller

如果沒有設置環境變量,可以在Python的安裝目錄下的scripts文件夾下找到pip.exe,在命令行下運行它就可以了。

2.2 打包Python程序的命令

Pyinstaller庫會自動將Pyinstaller命令安裝到Python解釋器目錄中,與pip或pip3命令相同,因此可以直接使用。使用Pyinstaller庫十分簡單,請注意,Pyinstaller不支持源文件名中有英文句號存在。打包命令如下:

Pyinstaller –F e:\pythonexe\GUI.py –noconsole

參數說明:-F 表示生成單個可執行文件;

-w表示去掉控制臺窗口,這在GUI界面時非常有用;

-p表示你自己自定義需要加載的類路徑,一般情況下用不到;

-i表示可執行文件的圖標;

-noconsole表示去掉控制臺窗口,如果還想添加自定義的依賴庫,就要加上-p參數。

2.3 獲得打包后的exe程序

執行完畢后,源文件所在目錄將生成dist和build兩個文件夾。其中build是Pyinstaller存儲臨時文件的目錄,可以安全刪除。最終的打包程序在dist文件夾中,目錄中其他文件是可執行文件的動態鏈接庫。

3 結語

本文列出了3種較為快捷的Python打包方法,使得每次運行腳本不再需要打開IDE。其中使用第三方庫Pyinstaller打包方法較為簡單方便,且不易出現問題。Py2exe打包的程序只能在相同的系統下運行,在XP系統用Py2exe打包的exe只能在XP上運行,在Win 7上肯定會出問題,而Pyinstaller打包則不會出現這種問題。

作者簡介:王瑞文(1997— ),男,江西吉安,本科;研究方向:航空宇航制造。

[參考文獻]

[1]赫特蘭.Python基礎教程[M].凌杰,陸禹淳,顧俊,譯.北京:人民郵電出版社,2010.

[2]陳仲才.Python核心編程[M].楊濤,譯.北京:機械工業出版社,2001.

[3]魯特茲.Python學習手冊[M].侯靖,譯.3版.北京:機械工業出版社,2009.

Abstract: Python is a popular open source programming language that can be used in a variety of fields to write separate programs and scripts. Python is free, portable, powerful and easy to use. Programmers from every corner of the software industry have found that Python is very concerned about developers efficiency and software quality, which is a strategic advantage both in large and small projects. However, Python also has a small flaw, that is, Python program execution must have the participation of the interpreter. How does a Python program work on an interpreter free platform? Its easy to package Python programs into exe executable files. This paper explores the methods that Python programs package into exe executable to provide some support for the indepth application of Python programs.

Key words: Python programs; exe executable files; interpreter

主站蜘蛛池模板: 久久6免费视频| 欧美日韩国产一级| 国产人成在线视频| 波多野一区| 99热在线只有精品| 国产激情无码一区二区APP | 亚欧美国产综合| 国产精品露脸视频| 免费观看无遮挡www的小视频| 激情无码字幕综合| 国产精品久久久久鬼色| 中文字幕乱码二三区免费| 免费观看国产小粉嫩喷水| 999精品免费视频| 色窝窝免费一区二区三区| 日韩欧美色综合| 日韩中文字幕亚洲无线码| 亚洲人成网站观看在线观看| 国产精品亚洲专区一区| 国产日本欧美在线观看| 无码不卡的中文字幕视频| 无码国产伊人| 无码不卡的中文字幕视频| 夜精品a一区二区三区| 国产二级毛片| 无码国产偷倩在线播放老年人| 亚洲色图在线观看| 青青草综合网| 国产成人精品综合| 中国精品自拍| 久久一日本道色综合久久| 国产爽歪歪免费视频在线观看| 免费又黄又爽又猛大片午夜| 韩国福利一区| 中文字幕亚洲专区第19页| 国产你懂得| 欧美精品在线视频观看| 天天综合网色中文字幕| 午夜一区二区三区| 国产欧美日韩18| 露脸一二三区国语对白| 少妇人妻无码首页| 亚洲成人一区二区| 国产精品一区二区久久精品无码| 婷婷开心中文字幕| 毛片久久久| 国产色伊人| 免费中文字幕一级毛片| 亚洲国语自产一区第二页| 国产成年无码AⅤ片在线| 久草美女视频| 综合网久久| 精品一区二区三区水蜜桃| 依依成人精品无v国产| 91久久精品日日躁夜夜躁欧美| 91青青视频| 久热中文字幕在线观看| 国产成人精品高清在线| 欧美精品xx| 人妻少妇久久久久久97人妻| 国产一级α片| 在线观看免费黄色网址| 国产精品无码久久久久久| 国产国产人成免费视频77777| 亚洲欧美日韩另类在线一| 免费在线不卡视频| 精品福利网| 青青草原国产av福利网站| 亚洲人成在线精品| 九色91在线视频| 91成人免费观看| 伊人蕉久影院| 超清无码熟妇人妻AV在线绿巨人| 中文字幕日韩丝袜一区| 国产视频欧美| 国产成人艳妇AA视频在线| 这里只有精品免费视频| 欧洲极品无码一区二区三区| 国产精品亚欧美一区二区| 久久精品一品道久久精品| 欧美翘臀一区二区三区| 亚洲黄网视频|