日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python 转 exe -- py2exe库实录

發(fā)布時(shí)間:2025/7/14 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 转 exe -- py2exe库实录 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文基于windows 7 + python 3.4

?

把python程序打包成exe,比較好用的庫是py2exe

其操作步驟是:

--> 編寫python程序

--> 再額外編寫一個(gè)導(dǎo)入了py2exe的python腳本(不妨如:setup.py)存在同一目錄下

--> 運(yùn)行這個(gè)腳本,打包生成的exe文件保存在一個(gè)dist目錄下

?

三個(gè)例子:

1.命令行

2.GUI (tkinter)

3.GUI (pyqt5)

?

1. 命令行

# hello.pyprint('你好,世界!')

?

# setup.pyfrom distutils.core import setup import py2exe import sys#this allows to run it with a simple double click. sys.argv.append('py2exe')py2exe_options = {"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 1, # 其中bundle_files有效值為:# 3 (默認(rèn))不打包。# 2 打包,但不打包Python解釋器。# 1 打包,包括Python解釋器。 setup(name = 'console demo',version = '1.0',console = ['hello.py',], # console 命令行執(zhí)行程序# windows 窗口執(zhí)行程序zipfile = None,options = {'py2exe': py2exe_options})

?

?

現(xiàn)在有兩個(gè)文件了

?

再進(jìn)到目錄運(yùn)行上面這個(gè)setup.py腳本(亦可雙擊運(yùn)行該腳本)

?

然后發(fā)現(xiàn)多了一個(gè)dist目錄

?

可以發(fā)現(xiàn)dist目錄下生成了一個(gè)hello.exe文件

?

再在命令行下執(zhí)行hello.exe

?

?

?

2. GUI (tkinter)

# hello.pyimport tkinter as tkroot = tk.Tk()tk.Label(root, text="你好,世界!").pack(ipadx=100, ipady=50)root.mainloop()

?

# setup.pyfrom distutils.core import setup import py2exe import sys#this allows to run it with a simple double click. sys.argv.append('py2exe')py2exe_options = {"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 2, # 修改:2(打包,但不打包Python解釋器) setup(name = 'tk demo',version = '1.0',windows = ['hello.py',], # 修改:windowszipfile = None,options = {'py2exe': py2exe_options})

說明:

對(duì)tkinter打包, "bundle_files" 必須為 2,若是1會(huì)報(bào)錯(cuò)

?

?

進(jìn)到目錄運(yùn)行上面這個(gè)setup.py腳本

?

可以發(fā)現(xiàn)dist目錄下生成了一個(gè)hello.exe文件和另外幾個(gè)dll文件

?

雙擊運(yùn)行,出現(xiàn)窗口

?

?

?

3. GUI (pyqt5)

# hello.py
from PyQt5 import QtWidgets, QtCore, QtGui # 不管是否用到,只要是打包成exe,都要導(dǎo)入import sysapp = QtWidgets.QApplication(sys.argv)root = QtWidgets.QWidget() root.resize(200,100) QtWidgets.QLabel(root, text='你好,世界!') root.show()sys.exit(app.exec_())

說明:不管是否用到,都要導(dǎo)入 from PyQt5 import QtWidgets, QtCore, QtGui

?

# setup.py

from
distutils.core import setup import py2exe import sys#this allows to run it with a simple double click. sys.argv.append('py2exe')py2exe_options = {"includes": ["sip"], # PyQt5專有#"dll_excludes": ["MSVCP90.dll",], # 魚友論壇說這句必須有,我的沒有也可以"compressed": 1,"optimize": 2,"ascii": 0,"bundle_files": 1, #這里還是1 }setup(name = 'pyqt5 hello',version = '1.0',windows = ['hello.py',], # 窗口執(zhí)行# PyQt5專有data_files=[("",[r"C:\Python34\Lib\site-packages\PyQt5\libEGL.dll"]),("platforms",[r"C:\Python34\Lib\site-packages\PyQt5\plugins\platforms\qwindows.dll"])],zipfile = None,options = {'py2exe': py2exe_options})

說明:對(duì)于pyqt5,下面兩個(gè)是必須的:

①:"includes": ["sip"] ②:data_files=[("",[r"C:\Python34\Lib\site-packages\PyQt5\libEGL.dll"]), ("platforms", [r"C:\Python34\Lib\site-packages\PyQt5\plugins\platforms\qwindows.dll"])]


進(jìn)到目錄運(yùn)行上面這個(gè)setup.py腳本

?

可以發(fā)現(xiàn)dist目錄下生成了一個(gè)hello.exe文件和另外幾個(gè)dll文件

?

雙擊運(yùn)行,出現(xiàn)窗口

?

總結(jié)

以上是生活随笔為你收集整理的python 转 exe -- py2exe库实录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。