py2exe 和pyinstaller打包


兩種方式:
一 .py2exe (最好是在win7下面python2下去打包)

1.安裝
【Python3】 直接pip install py2exe,如果報ssl錯誤就pip install openpyxl -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
*據說python 3.3,和python3.4才支持py2exe,沒驗證過。

【Python2】: python 2 不能用pip 來安裝,會報錯,可以下載下來安裝
https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/ 里面去下對應python 版本得py2exe

2.setup.py

需要自己手動寫一個腳本如下,我的叫setup.py,和要打包的腳本放一起:
#setup.py
from distutils.core import setup
import py2exe,sys

sys.argv.append('py2exe')

datafile = [('目的文件夾',‘文件名’),('目的文件夾',文件名)];例如[('images','images\*.jgp')]
includes = []

options= {"py2exe":
{ "compressed":1, #壓縮
"optimize":2, #優化,0表示不優化,1表示普通優化,2表示額外優化
"bundle_files":1,
"includes": INCLUDES,
#########bundle_files:#######
1:打包成一個exe 文件,包含python 解釋器
2:打包成一個exe 文件,不包含python 解釋器
3:默認,不打包
###########################
}
}
setup(
options = options,
zipfile = None, #不生成library.zip文件
datafiles=datafile , #包含得數據文件,會copy到dist里面去
windows=[ {
'script':"wx_test.py"
}
]
) #windows不包含cmd框,console 包含cmd框


3.Issues:
*一般在win7上運行沒問題,但是在win10上運行的時候會提示很多dll文件找不到,直接加在option里面,例如:
options = { 
"py2exe": { 
"dll_excludes": [
"name1.dll",
"name2".dll


}
*bundle_file:1,只打包成一個exe文件,在amd64里是不支持的,只能在32位系統里打包,安裝的時候也要安裝32位的py2exe


二.pyinstaller

1.安裝
pip install pywin32 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
pip install pyinstaller -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

2.使用
pyinstaller -F wx_text.py
-F:生成單個exe文件
-w 去掉控制台窗口
-p 自定義需要加載的類路徑
-i 可執行文件的圖標

 

 

 


3.issue
1.Exception: Python.Runtime not found
=>pip install pythonnet

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM