问题1: show error: MSVCP90.dll: No such file or directory
创建生成exe文件的脚本添加:
import py2exe
from distutils.core import setup
setup(console=['temp.py'], options = { "py2exe":{"dll_excludes":["MSVCP90.dll"]}})
问题2:py2exe 运行失败2: matplotlib 相关dll缺失
经实验:
import py2exe
from distutils.core import setup
import matplotlib
# 相关dll:'libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll','libgdk_pixbuf-2.0-0.dll'
# create a UI app: use windows not console
setup(windows=['memory_monitor.py'],
options = { "py2exe":{"dll_excludes":["MSVCP90.dll",'libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll','libgdk_pixbuf-2.0-0.dll'],
'excludes': ['_gtkagg', '_tkagg'],
'packages' : ['matplotlib', 'pytz']}},
data_files=matplotlib.get_py2exe_datafiles()
)
#setup(console=['memory_monitor.py'])
问题3: 如何使用py2exe
1. 生成py2exe的操作文件,如:mysetup.py。 2. Command line运行如下命令:
python mysetup.py py2exe
上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。
如果你的XXX.py脚本中用了已编译的C扩展模块,那么这些模块也会被拷贝在个子目录中,同样,所有的dll文件在运行时都是需要的,除了系统的dll文件。
dist子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。