亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2017-07-18 17:36:33王瑞文王圣輝邊潤(rùn)根鄧明月
        無(wú)線互聯(lián)科技 2017年12期

        王瑞文+王圣輝+邊潤(rùn)根+鄧明月

        摘 要:Python是一種很流行的開源編程語(yǔ)言,可以在各種領(lǐng)域中用來編寫?yīng)毩⒌某绦蚝湍_本。Python免費(fèi)、可移植、功能強(qiáng)大,而且使用起來相當(dāng)容易。來自軟件產(chǎn)業(yè)各個(gè)角落的程序員都已經(jīng)發(fā)現(xiàn),Python對(duì)于開發(fā)者效率和軟件質(zhì)量都十分關(guān)注,這無(wú)論在大項(xiàng)目還是小項(xiàng)目中都是一個(gè)戰(zhàn)略性的優(yōu)點(diǎn)。但是Python也有一點(diǎn)點(diǎn)小缺陷,那就是Python程序的執(zhí)行必須要有解釋器的參與。Python的程序如何在沒有解釋器的平臺(tái)上使用,很簡(jiǎn)單,將Python程序打包成exe可執(zhí)行文件即可。文章對(duì)Python程序打包成exe可執(zhí)行文件的方法進(jìn)行探究,以期為Python程序的深入應(yīng)用提供一定支持。

        關(guān)鍵詞:Python程序;exe可執(zhí)行文件;解釋器

        Python最大的優(yōu)點(diǎn)是簡(jiǎn)單易學(xué),其語(yǔ)法不像其他編程語(yǔ)言那樣復(fù)雜。閱讀一個(gè)良好的Python程序就感覺像是在讀英語(yǔ)一樣,它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語(yǔ)言本身。

        Python也被稱為是一門清晰的語(yǔ)言。因?yàn)樗淖髡咴谠O(shè)計(jì)它的時(shí)候,總的指導(dǎo)思想是:對(duì)于一個(gè)特定的問題,只要有一種最好的方法來解決就好了。Python具有腳本語(yǔ)言中最豐富和強(qiáng)大的類庫(kù),足以支持絕大多數(shù)日常應(yīng)用。在實(shí)際開發(fā)中,Python常被昵稱為膠水語(yǔ)言,這不是說它會(huì)把你的手指粘住,而是說它能夠很輕松地把用其他語(yǔ)言制作的各種模塊聯(lián)結(jié)在一起。Python的優(yōu)點(diǎn)還包括可擴(kuò)充性免費(fèi)、開源、高級(jí)語(yǔ)言、可移植性、解釋性、可擴(kuò)展性、可嵌入性等。

        1 利用Windows平臺(tái)工具打包

        1.1 Py2exe打包

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

        舉個(gè)簡(jiǎn)單的例子:如果你有一個(gè)名字為Py2exe.py的腳本程序需要打包,使它能夠運(yùn)行在Windows平臺(tái)上,那么首先你需要寫一個(gè)設(shè)置腳本如setup.py。setup.py示例如下:

        #setup.py

        from distutils.core import setup

        import py2.exe

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

        然后在cmd中按下面的方法運(yùn)行mysetup.py:

        python mysetup.py py2exe

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

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

        1.2 cx_freeze打包

        與Py2exe相同,cx_freeze打包也需要下載并安裝與Python版本相同的程序。生成可執(zhí)行程序有兩種方式:(1)通過cxfreeze-quickstart生成setup.py文件,定制setup.py文件;(2)執(zhí)行cxfreeze main.py默認(rèn)生成dist目錄??梢蕴砑舆x項(xiàng),可以通過cxfreeze-h查看幫助文檔。

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

        cx_freeze可以生成exe文件加運(yùn)行時(shí)所依賴的其他多個(gè)文件和單獨(dú)的msi安裝文件包。和Pyinstaller相比,缺點(diǎn)有:需要手動(dòng)自己輸入所依賴的庫(kù)的名字,無(wú)法自動(dòng)識(shí)別;還需要添加對(duì)應(yīng)的path,供其搜索依賴的庫(kù)。

        2 第三方庫(kù)Pyinstaller打包

        2.1 第三方庫(kù)的安裝

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

        pip install pyinstaller

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

        2.2 打包Python程序的命令

        Pyinstaller庫(kù)會(huì)自動(dòng)將Pyinstaller命令安裝到Python解釋器目錄中,與pip或pip3命令相同,因此可以直接使用。使用Pyinstaller庫(kù)十分簡(jiǎn)單,請(qǐng)注意,Pyinstaller不支持源文件名中有英文句號(hào)存在。打包命令如下:

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

        參數(shù)說明:-F 表示生成單個(gè)可執(zhí)行文件;

        -w表示去掉控制臺(tái)窗口,這在GUI界面時(shí)非常有用;

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

        -i表示可執(zhí)行文件的圖標(biāo);

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

        2.3 獲得打包后的exe程序

        執(zhí)行完畢后,源文件所在目錄將生成dist和build兩個(gè)文件夾。其中build是Pyinstaller存儲(chǔ)臨時(shí)文件的目錄,可以安全刪除。最終的打包程序在dist文件夾中,目錄中其他文件是可執(zhí)行文件的動(dòng)態(tài)鏈接庫(kù)。

        3 結(jié)語(yǔ)

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

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

        [參考文獻(xiàn)]

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

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

        [3]魯特茲.Python學(xué)習(xí)手冊(cè)[M].侯靖,譯.3版.北京:機(jī)械工業(yè)出版社,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

        国产一级黄色片在线播放| 久久亚洲精品国产精品婷婷| 少妇人妻偷人精品一区二区| chinesefreexxxx国产麻豆| 精品国产免费Av无码久久久| 官网A级毛片| 国产青青草自拍视频在线播放| 久久青青草原一区网站| 久久丝袜熟女av一区二区| 久久久精品中文字幕麻豆发布| 国产乱人激情h在线观看| 婷婷久久久亚洲欧洲日产国码av | 亚洲av无码国产精品色| 国产精品无码一区二区在线观一| 毛片亚洲av无码精品国产午夜| 国产人妻黑人一区二区三区| 2021年最新久久久视精品爱| 久久精品国产亚洲av成人擦边| 91人妻一区二区三区蜜臀| 中文乱码字字幕在线国语| 国产七十六+老熟妇| 久久综合九色综合网站| 国产一国产一级新婚之夜| 久久aⅴ无码av高潮AV喷| 亚洲女人天堂成人av在线| 伊人久久这里只有精品| 久久久久亚洲av片无码| 性色av无码一区二区三区人妻| 久久成人免费电影| 天堂女人av一区二区| 极品少妇人妻一区二区三区| 不卡av电影在线| 亚洲V日韩V精品v无码专区小说 | 国产亚洲精品97在线视频一| 97人妻碰碰视频免费上线| 国产免费看网站v片不遮挡| 国内色精品视频在线网址| 熟女中文字幕一区二区三区 | 男吃奶玩乳尖高潮视频| 五十路熟妇高熟无码视频| 巨臀中文字幕一区二区|