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

主站蜘蛛池模板: Jizz国产色系免费| 99久久免费精品特色大片| 亚洲香蕉在线| 四虎成人精品| 日韩小视频在线观看| 国产精品吹潮在线观看中文| 国产精品主播| 2021国产在线视频| 国产SUV精品一区二区| 色噜噜狠狠狠综合曰曰曰| a级毛片网| 日韩在线视频网站| 91热爆在线| 青青草一区| 国产精品成人一区二区不卡 | 亚洲高清中文字幕在线看不卡| 在线观看国产精品一区| 国产精品一区二区无码免费看片| 制服丝袜亚洲| 亚洲无线视频| 国产00高中生在线播放| 亚洲精品777| 成年看免费观看视频拍拍| 无码精品福利一区二区三区| 2021天堂在线亚洲精品专区 | 亚洲男人天堂2018| 国产屁屁影院| 日日噜噜夜夜狠狠视频| 天堂av综合网| 国产一级α片| 国产自在自线午夜精品视频| 亚洲精品国产成人7777| 东京热高清无码精品| 嫩草影院在线观看精品视频| AV网站中文| 99国产精品一区二区| 国产69精品久久久久孕妇大杂乱| 精品三级在线| 久久精品女人天堂aaa| 亚洲最猛黑人xxxx黑人猛交| 久青草网站| 日韩成人午夜| 精品伊人久久久久7777人| 亚洲高清无在码在线无弹窗| 久久大香香蕉国产免费网站 | 日韩精品一区二区三区大桥未久| 久久一日本道色综合久久| 日韩无码真实干出血视频| 亚洲一区二区三区香蕉| 亚洲AV色香蕉一区二区| 欧洲亚洲欧美国产日本高清| 91欧洲国产日韩在线人成| 青草精品视频| 亚洲系列中文字幕一区二区| V一区无码内射国产| 99re经典视频在线| 少妇人妻无码首页| 日韩在线2020专区| 尤物精品视频一区二区三区| 激情午夜婷婷| 青青青视频免费一区二区| 国产91精品调教在线播放| www.亚洲色图.com| 999国内精品视频免费| 午夜精品久久久久久久99热下载 | 2020国产精品视频| 中国国语毛片免费观看视频| 久久久噜噜噜久久中文字幕色伊伊| 亚洲Va中文字幕久久一区 | 欧美日本激情| 日本不卡在线视频| av午夜福利一片免费看| 亚洲中文字幕久久精品无码一区| 免费播放毛片| 国产精品伦视频观看免费| 最新精品久久精品| 五月婷婷丁香色| 精品无码一区二区三区在线视频| 亚洲视频一区在线| 成年人久久黄色网站| A级毛片高清免费视频就| 男女精品视频|