py2exe --- show error: MSVCP90.dll + matplotlib issues

问题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子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。

原文地址:https://www.cnblogs.com/xiaoxxy/p/3232936.html