python打包工具报错_python打包工具 py2exe 和 pyinstaller

本文介绍了Python打包工具py2exe和pyinstaller的安装、配置与使用方法,包括setup.py脚本的编写,以及在不同系统中可能出现的问题和解决策略。在win7下,py2exe适用于Python2,而在win10中可能遇到dll文件找不到的问题。pyinstaller则通过-F参数生成单个exe文件,可选地去掉控制台窗口并自定义图标。当遇到'Python.Runtime not found'异常时,需要安装pythonnet。
摘要由CSDN通过智能技术生成

两种方式:

一 .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 可执行文件的图标

e8718a79aaf6b7ed0afdb4692147e861.png

3.issue

1.Exception: Python.Runtime not found

=>pip install pythonnet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值