一、安装
Windows下直接下载安装包即可。
二、概述
Py2exe是将python程序转成可执行文件,这样,拷到其它机子下不用安装python及其它模块,也可以应用,网上很多人将这一过程称为软件打包。
这与我理解的软件打包还是有出入的,软件打包应该是将程序转成一个setup.exe,然后,可让用户,尽管过程差不多,但还是有点区别的,软件打包目前最著名的是install shield,可惜是商业软件,找了一个Inno Setup,免费的,还是有点费劲,如果只涉及一个exe就容易了,但包含动态链接库的就不是那么容易,反正,我还没用这东西把python打包成功过。
三、功能
1、基本功能
打包一般的程序很简单,是我看过python包最容易的一个,可能因为它功能太少的原因。
建立二个文件,一个叫Py2EXE.py,另一个叫setup.bat。其中Py2EXE.py的内容为:
from
distutils.core
import
setup
import
py2exe
setup(console=[
"test.py"
])
setup.bat是一个批处理文件,内容为:
python Py2EXE.py py2exe
这样我们就有三个文件,test.py、setup.bat、Py2EXE.py,将这三个文件放在同一目录双击setup.bat即可。运行后,得到两个文件夹build、dist,其中build是没有用的,可删除,dist文件夹中包含很多dll等文件,是运行程序所必须的,不可删除,要启动程序,可双击dist文件夹中有一个test.exe的可执行文件。
当然,名字是我取的,你爱怎么取就怎么取,只要对应就行。
2、涉及matplotlib库的软件打包
当然py2exe也不是那么容易,这也从一个侧面反映其不成熟,我试完test.py就很高兴,开始要打包工程,结果还是很不幸,后来才知道这是经典的错误,
"RuntimeError: Could not find the matplotlib data files" 原因,py2exe打包时涉及到matplotlib库要做另外的处理,搞了一个下午,终于把它整出来,同样建立二个文件,只需要改Py2EXE的代码就行,代码贴出来看看:
#====================
Kill_Distro = True
MatPlotLib_Wanted =
True
def
File_Exists( path ):
res=os.path.isdir(path)
if
res==
True
:
return
res
return
os.path.isfile(path)
from
distutils.core
import
setup
import
py2exe
import
sys
import
os
import
shutil
import
glob