python 轉 exe -- py2exe庫實錄

本文基于windows 7 + python 3.4

?

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

其操作步驟是:

--> 編寫python程序

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

--> 運行這個腳本,打包生成的exe文件保存在一個dist目錄下

?

三個例子:

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 (默認)不打包。# 2 打包,但不打包Python解釋器。# 1 打包,包括Python解釋器。
setup(name = 'console demo',version = '1.0',console = ['hello.py',],   # console 命令行執行程序# windows  窗口執行程序zipfile = None,options = {'py2exe': py2exe_options})  
復制代碼

?

?

現在有兩個文件了

?

再進到目錄運行上面這個setup.py腳本(亦可雙擊運行該腳本)

?

然后發現多了一個dist目錄

?

可以發現dist目錄下生成了一個hello.exe文件

?

再在命令行下執行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}) 
復制代碼

說明:

對tkinter打包,?"bundle_files" 必須為 2,若是1會報錯

?

?

進到目錄運行上面這個setup.py腳本

?

可以發現dist目錄下生成了一個hello.exe文件和另外幾個dll文件

?

雙擊運行,出現窗口

?

?

?

3. GUI (pyqt5)

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

說明:不管是否用到,都要導入?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',], # 窗口執行# 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})
復制代碼

說明:對于pyqt5,下面兩個是必須的:

①:"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"])]


進到目錄運行上面這個setup.py腳本

?

可以發現dist目錄下生成了一個hello.exe文件和另外幾個dll文件

?

雙擊運行,出現窗口

?

本文轉自羅兵博客園博客,原文鏈接:http://www.cnblogs.com/hhh5460/p/5388204.html,如需轉載請自行聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454735.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454735.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454735.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python網絡爬蟲面試題,搞定這套Python爬蟲面試題(面試會so easy)

搞定這套Python爬蟲面試題(面試會so easy)來源:中文源碼網 瀏覽: 次 日期:2019年11月5日【下載文檔: 搞定這套Python爬蟲面試題(面試會so easy).txt 】(友情提示:右鍵點上行txt文檔名->目標另存為)搞定這套Python爬蟲面試題(面試會…

fastjson與spring mvc整合的配置

fastjson 是阿里巴巴開發的開源json解析組件&#xff0c;方便于通過java來生成和解析json格式的字符串和對象。 fastjson可以對Spring的返回數據進行json轉換&#xff08;SpringMVC的ResponseBody注釋&#xff09; 以下附上與spring mvc整合的xml配置&#xff1a; <mvc:anno…

Python 框架 之 Scrapy 爬蟲(一)

在編寫爬蟲時&#xff0c;性能的消耗主要在IO請求中&#xff0c;當單進程單線程模式下請求URL時必然會引起等待&#xff0c;從而使得請求整體變慢。 1、同步執行 import requestsdef fetch_async(url):response requests.get(url)return responseurl_list [http://www.gith…

編程新手導論(轉載)

第二部分 導論&#xff0c;這一部分主要是關于編程的導論&#xff0c; (要懂得一點思想具備一點常識)《設計&#xff0c;編碼&#xff0c;&#xff0c;與軟工》&#xff08;編程與思想&#xff09;這一章解釋了三種思想&#xff0c;原語&#xff0c;抽象&#xff0c;組合&#…

如何讓電腦成為看圖說話的高手?計算機視覺頂會ICCV論文解讀

ICCV&#xff0c;被譽為計算機視覺領域三大頂級會議之一。作為計算機視覺領域最高級別的會議之一&#xff0c;其論文集代表了計算機視覺領域最新的發展方向和水平。阿里巴巴在今年的大會上有多篇論文入選&#xff0c;本篇所解讀的論文是阿里iDST與多家機構合作的入選論文之一&a…

canvas繪制線條1像素的問題

http://jo2.org/html5-canvas%E7%94%BB%E5%9B%BE3%EF%BC%9A1px%E7%BA%BF%E6%9D%A1%E6%A8%A1%E7%B3%8A%E9%97%AE%E9%A2%98/轉載于:https://www.cnblogs.com/XIE7654/p/7493315.html

php汽車找車位,遭遇到車多車位少 教你如何快速找到停車位

[摘要]車主們大多時間會穿梭在市區&#xff0c;到了目的地后那就先找停車位&#xff0c;現在市區寸土寸金&#xff0c;一個停車位面積要占幾平米呢&#xff0c;所以停車位基本是不夠用的。下面和大家聊聊怎么找合適的停車位。車主們大多時間會穿梭在市區&#xff0c;去商場購物…

Python 框架 之 Scrapy 爬蟲(二)

Scrapy是一個為了爬取網站數據&#xff0c;提取結構性數據而編寫的應用框架。 其可以應用在數據挖掘&#xff0c;信息處理或存儲歷史數據等一系列的程序中。其最初是為了頁面抓取 (更確切來說, 網絡抓取)所設計的&#xff0c; 也可以應用在獲取API所返回的數據(例如 Amazon Ass…

十六進制透明度參照表

00%FF&#xff08;不透明&#xff09; 5%F2 10%E5 15%D8 20%CC 25%BF 30%B2 35%A5 40%99 45%8c 50%7F 55%72 60%66 65%59 70%4c 75%3F 80%33 85%21 90%19 95%0c 100%00&#xff08;全透明&#xff09;轉載于:http…

lamp和php,[LAMP]Apache和PHP的結合

在LAMP架構中&#xff0c;Apache通過PHP模塊與Mysql建立連接&#xff0c;讀寫數據。那么配置Apache和PHP結合的步驟是怎么操作的呢&#xff1f;1、修改http.conf文件[rootjuispan ~]# cat /usr/local/apache2.4/conf/httpd.conf......#ServerName......AllowOverride noneRequi…

Day-5: Python高級特性

python的理念是&#xff1a;簡單、優雅。所以&#xff0c;在Python中集成了許多經常要使用的高級特性&#xff0c;以此來簡化代碼。 切片&#xff1a;對于一個list或者tuple&#xff0c;取其中一段的元素&#xff0c;稱為切片&#xff08;Slice&#xff09;。 L[start:end]表示…

前端之 XMLHttpRequest

XMLHttpRequest 和AJAX的愛恨情仇 AJAX 是 asynchronous javascript and XML 的簡寫&#xff0c;中文翻譯是異步的 javascript 和 XML&#xff0c;這一技術能夠向服務器請求額外的數據而無須卸載頁面&#xff0c;會帶來更好的用戶體驗。雖然名字中包含 XML &#xff0c;但 AJAX…

makefile——小試牛刀

//a.h,包含頭文件stdio.h,并且定義一個函數print #include<stdio.h> void print();//b.c&#xff0c;包含頭文件a.h&#xff0c;然后就可以寫print函數的內容了 #include"a.h" void print(){ printf("who are you\n"); }//c.c&#xff0c;包含頭文件…

云電腦是什么_云電腦和我們現在平時用的電腦有什么區別?

&#x1f340;溫馨提示&#x1f340;公眾號推送改版&#xff0c;為了不讓您錯過【掌中IT發燒友圈】每天的精彩推送&#xff0c;切記將本號設置星標哦&#xff01;~01云電腦&#xff0c;是5G云服務時代的電腦新概念&#xff0c;是電腦的新的一種形態。從具體操作使用上來講&…

PHP如何用while實現循環,PHP 循環 -

PHP 循環 - While 循環循環執行代碼塊指定的次數&#xff0c;或者當指定的條件為真時循環執行代碼塊。PHP 循環在您編寫代碼時&#xff0c;您經常需要讓相同的代碼塊一次又一次地重復運行。我們可以在代碼中使用循環語句來完成這個任務。在 PHP 中&#xff0c;提供了下列循環語…

比較全的C語言面試題

1. static有什么用途&#xff1f;&#xff08;請至少說明兩種&#xff09; 1).限制變量的作用域 2).設置變量的存儲域 2. 引用與指針有什么區別&#xff1f; 1) 引用必須被初始化&#xff0c;指針不必。 2) 引用初始化以后不能被改變&#xff0c;指針可以改變所指的對象…

PHP爬取歷史天氣

PHP爬取歷史天氣 PHP作為宇宙第一語言&#xff0c;爬蟲也是非常方便&#xff0c;這里爬取的是從天氣網獲得中國城市歷史天氣統計結果。 程序架構 main.php <?phpinclude_once("./parser.php");include_once("./storer.php");#解析器和存儲器見下文$par…

Python 第三方庫之docx

日常上官網 https://python-docx.readthedocs.io/en/latest/ 一、安裝 pip install python-docx 二、寫入word word 中主要有兩種用文本格式等級&#xff1a;塊等級&#xff08;block-level&#xff09;和內聯等級&#xff08;inline-level&#xff09;word 中大部分內容都…

Unity AI副總裁Danny Lange:如何用AI助推游戲行業?

本文講的是Unity AI副總裁Danny Lange&#xff1a;如何用AI助推游戲行業&#xff1f; &#xff0c;10月26日&#xff0c;在加州山景城舉辦的ACMMM 2017大會進入正會第三天。在會上&#xff0c;Unity Technology負責AI與機器學習的副總裁Danny Longe進行了題為《Bringing Gaming…

SPI 讀取不同長度 寄存器_SPI協議,MCP2515裸機驅動詳解

SPI概述Serial Peripheral interface 通用串行外圍設備接口是Motorola首先在其MC68HCXX系列處理器上定義的。SPI接口主要應用在 EEPROM&#xff0c;FLASH&#xff0c;實時時鐘&#xff0c;AD轉換器&#xff0c;還有數字信號處理器和數字信號解碼器之間。SPI&#xff0c;是一種高…