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

主站蜘蛛池模板: 国产97视频在线| 国产成人1024精品下载| 午夜性刺激在线观看免费| 欧美性精品不卡在线观看| 欧美日韩亚洲国产主播第一区| 国产综合亚洲欧洲区精品无码| 精品成人一区二区三区电影| 精品国产电影久久九九| 噜噜噜久久| 免费毛片a| 欧美一区精品| 中文纯内无码H| 亚洲国产第一区二区香蕉| 国产九九精品视频| 华人在线亚洲欧美精品| 国产精品冒白浆免费视频| 午夜视频日本| 亚洲免费三区| 国产黄视频网站| 久久精品午夜视频| 中文字幕人妻av一区二区| 国产成人亚洲综合a∨婷婷| 亚洲第一视频网| 欧洲亚洲一区| 亚洲国产亚洲综合在线尤物| 免费在线国产一区二区三区精品| 免费国产高清视频| www精品久久| 国产亚洲精品自在久久不卡| 天天色综网| 免费毛片全部不收费的| 亚洲大尺码专区影院| 国产精品亚洲精品爽爽| 免费国产高清精品一区在线| 蜜桃视频一区二区| 强奷白丝美女在线观看| 国产三级a| 国产精品欧美在线观看| 日本亚洲最大的色成网站www| 国产小视频在线高清播放 | 经典三级久久| 日本精品视频一区二区| 制服丝袜国产精品| 99精品热视频这里只有精品7| 午夜精品区| 久草视频精品| 色网站在线免费观看| 日韩福利在线观看| 亚洲第一视频网| 一本色道久久88综合日韩精品| 国产精品自在在线午夜| 亚洲AⅤ综合在线欧美一区| 99久久无色码中文字幕| 中文字幕在线欧美| 女人av社区男人的天堂| 国产另类乱子伦精品免费女| 又黄又湿又爽的视频| 国产新AV天堂| 1024你懂的国产精品| 国产成人高清精品免费软件| 国产成人久视频免费| 欧美高清国产| 黄色在线不卡| 狠狠亚洲婷婷综合色香| 91国内在线观看| 日本欧美在线观看| 91在线视频福利| 欧美丝袜高跟鞋一区二区| 国产精欧美一区二区三区| 欧美一区二区三区国产精品| 日本免费一区视频| 国内毛片视频| 在线国产你懂的| 欧美日韩综合网| 成人午夜网址| 99视频在线观看免费| www欧美在线观看| 激情無極限的亚洲一区免费 | 国产精品入口麻豆| 毛片国产精品完整版| 国产成人福利在线| 最新国产高清在线|