生成的My.exe无法使用matplotlib程序执行。
54信息:PyInstaller:4.0 54信息:Python:3.7.8rc1 57信息:平台:Windows-10.0.18362-SP0 58信息:已写入C: \Users\vnareshk\AppData\Local\Programs\Python37\Scripts\Chart.spec59信息:UPX不可用。61信息:扩展PYTHONPATH路径['c:\Users\vnareshk\Desktop\UPH\pythonProject',"C:\Users\vnareshk\AppData\Local\Programs\Python37\Scripts"]69信息:检查分析69信息:建筑分析,因为Analysis-00.toc不存在70信息:正在初始化模块依赖关系图。。。73信息:缓存模块图形挂钩。。。86信息:正在分析base_library.zip…1622信息:正在处理预查找模块路径挂钩从'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks\pre_find_module_path\hook distutils.py'。1624信息:distutils:重定向到非供应商目录'c:\users\vnareshk\appdata\local\programs\python37\lib'2624信息:正在缓存模块依赖关系图。。。2711信息:正在运行分析分析-00.toc 2726信息:添加Microsoft.Windows.Common-最终版本的依赖程序集的控件所需的可执行文件c: \users\vnareshk\appdata\local\programs\python37\python.exe2785信息:分析c: \Users\vnareshk\Desktop\UPH\pythonProject\Chart。3339信息:正在处理来自的预查找模块路径挂钩站点'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hook\pre_find_module_path\hook site.py'。3340信息:站点:重定向到fake目录'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\fake-modules'6847信息:正在处理预安全导入模块挂钩setuptools.extern.six.moves from'c:\users\vnareshk\appdata\local\programs\python37\lib\site-packages\PyInstaller\hook\pre_safe_import_module\hook setuptools.extern.x6.moves.py'。10194信息:正在处理预安全导入模块挂钩six.moves from"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks\pre_safe_import_module\hook six.moves.py"。12483信息:正在处理模块挂钩。。。12483信息:装载模块挂钩来自的'hook certific.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_controb\hooks\stdhooks"。。。12491信息:正在从加载模块挂钩'hook-pycparser.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_controb\hooks\stdhooks"。。。12492信息:正在从加载模块挂钩'hook distutils.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。12493信息:正在从加载模块挂钩'hook-encodings.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。12583信息:正在从加载模块挂钩'hook-lib2-3.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。12630信息:正在从加载模块挂钩'hook matplotlib.backends.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。13120信息:Matplotlib后端";GTK3Agg":已忽略后端Gtk3Agg需要cairo 13381信息:Matplotlib后端";GTK3Cairo":已忽略cairo后端要求pycairo>1.11.0或cairocfiis安装13629信息:Matplotlib后端";MacOSX":已忽略无法从"matplotlb.backends"导入名称">macosx"(c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\matplotlib\backends_init.py)13873信息:Matplotlib后端";nbAgg":已忽略没有名为"IPython"的模块14206信息:Matplotlib后端";Qt4Agg":已忽略未能导入任何qt绑定14456信息:Matplotlib后端";Qt4Cairo":已忽略cairo后端要求pycairo>1.11.0或cairocfiis安装14776信息:Matplotlib后端";Qt5Agg":已忽略未能导入任何qt绑定15020信息:Matplotlib后端";Qt5Cairo":已忽略cairo后端要求pycairo>1.11.0或cairocfiis安装15467信息:Matplotlib后端";TkAgg":添加了15902信息:Matplotlib后端";TkCairo":已忽略cairo后端要求pycairo>1.11.0或cairocfiis安装16314信息:Matplotlib后端";WebAgg":添加了16733信息:Matplotlib后端";WX":已忽略没有名为"wx"16975的模块信息:Matplotlib后端";WXAgg":已忽略没有名为"wx"的模块17218信息:Matplotlib后端";WXCairo":已忽略没有名为"wx"的模块17529信息:Matplotlib后端";agg":添加17772信息:Matplotlib后端";cairo":已忽略cairo后端要求pycairo>1.11.0或cairocfiis安装18185信息:Matplotlib后端";pdf":添加18604信息:
Matplotlib后端"pgf":添加18911信息:Matplotlib后端";ps":添加了19226信息:Matplotlib后端";svg":添加19649信息:
Matplotlib后端"模板":添加19858信息:装载模块挂钩来自的'hook matplotlib.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20112信息:正在从加载模块挂钩'hook-numpy.core.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20180信息:正在从加载模块挂钩'hook-numpy.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20181信息:加载模块挂钩'hook PIL.Image.py'来自"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20480信息:正在从加载模块挂钩'hook PIL.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20482信息:找不到要排除的导入:"PyQt4"20482信息找不到要排除的导入:"FixTk"20483信息:排除导入'PyQt5'20484信息:正在从模块PIL.ImageQt中删除PyQt5的导入20485信息:排除导入"tkinter"20487信息:正在删除导入来自模块PIL.ImageTk 20487的tkinter信息:要排除的导入未找到:"PySide"20487信息:正在加载模块挂钩来自的'hook PIL.SpiderImagePlugin.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20489信息:排除导入"tkinter"20490信息:要导入未找到excluded:'FixTk'20490信息:正在加载模块挂钩来自的'hook-pkg_resources.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。20911信息:正在处理来自的预安全导入模块挂钩win32com'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_contrib\hooks\pre_safe_import_module\hook-win32com.py'。20980警告:隐藏导入";pkg_resources.marks";找不到!20981信息:排除导入'main'20983信息:正在删除的导入main来自模块pkg_resources 20984信息:正在从加载模块挂钩'hook setuptools.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。21497信息:正在从加载模块挂钩'hook sysconfig.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。21498信息:正在从加载模块挂钩'hook xml.dom.domreg.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。21499信息:正在从加载模块挂钩'hook xml.etree.cElementTree.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。21500信息:正在从加载模块挂钩'hook-xml.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。21500信息:正在从加载模块挂钩'hook-_tkinter.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hooks"。。。21674信息:正在检查树21674信息;正在生成树,因为树-00.toc不存在21676信息:正在构建树树-00_toc21734信息:正在检查树21734信息;正在生成树,因为树01.toc不存在21736信息:建筑树21746信息:正在从加载模块挂钩'hook-pythoncom.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_controb\hooks\stdhooks"。。。22055信息:正在从加载模块挂钩'hook-pywintypes.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_controb\hooks\stdhooks"。。。22359信息:正在从加载模块挂钩'hook-win32com.py'"c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_controb\hooks\stdhooks"。。。22704信息:正在查找ctypes DLL 22758信息:正在分析运行时钩子。。。22764信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site-packages\PyInstaller\hook\tooks\pyy_rth_multiprocessing.py'22767信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site-packages\PyInstaller\hook\tooks\pyy_rth__tkinter.py'22768信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site-packages\PyInstaller\hook\tooks\pyy_rth_pkgres.py'22770信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site-packages\PyInstaller\hook\tooks\pyy_rth_win32comgenpy.py'22772信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hook\rtbooks\pyy_rth_mplconfig.py'22772信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\hook\rtbooks\pyy_rth_mpldata.py'22773信息:包括运行时挂钩'c:\users\vnareshk\appdata\local\programs\python37\lib\site packages\_pyinstaller_hooks_contrib\hooks\pyy_rth_certifi.py'22786信息:寻找动态库23468信息:寻找鸡蛋23469信息:使用Python库c: \users\vnareshk\appdata\local\programs\python37\python37.dll23471信息:找到绑定重定向:[]23480信息:已写入警告到C: \Users\vnareshk\AppData\Local\Programs\Python37\Scripts\build\Chart\warn-Chart.txt23603信息:图形交叉引用写入C: \Users\vnareshk\AppData\Local\Programs\Python37\Scripts\build\Chart\xref-Chart.html23664信息:检查PYZ 23665信息:由于PYZ-00.toc而构建PYZ不存在23667信息:正在构建PYZ(ZlibArchive)C: \Users\vnareshk\AppData\Local\Programs\Python37\Scripts\build\Chart\PYZ-00.PYZ25350信息:建设PYZ(ZlibArchive)C: \Users\vnareshk\AppData\Local\Programs\Python37\Scripts\build\Chart\PYZ-00.PYZ已成功完成。25386信息:检查PKG 25386信息PKG,因为PKG-00.toc不存在25388信息:建筑PKG(CArchive)PKG-00.PKG 33608信息:正在构建PKG(CArchivePKG-00.kg已成功完成。33643信息:引导程序c: \users\vnareshk\appdata\local\programs\python37\lib\site packages\PyInstaller\bootloader\Windows-64bit\runw.exe33643信息:正在检查EXE 33647信息:由于EXE-00.doc而生成EXE不存在33648信息:从EXE-00构建EXE。toc 33648信息将存档附加到EXEC: \Users\vnareshk\AppData\Local\Programs\Python37\Scripts\dist\Chart.exe33674信息:从EXE-00.doc生成EXE成功完成。
这是我的代码:
import PySimpleGUI as sg
import matplotlib.pyplot as plt
def draw_plot():
plt.plot([0.1, 0.2, 0.5, 0.7,0.2])
plt.show(block=False)
layout = [[sg.Button('Plot'), sg.Cancel(), sg.Button('Popup')]]
window = sg.Window('Have some Matplotlib....', layout)
while True:
event, values = window.read()
if event in (sg.WIN_CLOSED, 'Cancel'):
break
elif event == 'Plot':
draw_plot()
elif event == 'Popup':
sg.popup('Yes, your application is still running')
window.close()
我遇到过这样的问题。以下是我的建议:
首先,像这样编译你的代码
pyinstaller -F your_script.py
这将编译成.exe,并在后台打开一个调试窗口,该窗口将显示下一步所需的信息。
接下来,找到并运行你的.exe。在脚本失败之前,你会在调试窗口上看到导致崩溃的错误。我最近看到的最大的罪魁祸首是pkg_resources.py2_warn
导入错误。
最后,在代码顶部添加一个import语句,强制导入导致pyinstaller生成错误.exe的内容
import pkg_resources.py2_warn
现在它可以正确编译,并且可执行文件可以工作。