我编写了一个程序,我试图使用PyInstaller变成可执行文件。 Pyinstaller似乎已经完成没有任何错误,我最终得到了/ dist / my_program中的应用程序。但是,当我尝试运行该应用程序时,控制台窗口会闪回一秒钟并带有回溯:
编辑:我已经复制了追溯。可能有一个错误,因为我必须从屏幕截图中输入它,因为它只会闪烁。
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "C:\Users\user\desktop\PyInstaller-2.1\PyInstaller\loader\pyi_importers.py", line 270, in load_module
exec(bytecode, module.__dict__)
File "C:\Users\user\desktop\PyInstaller-2.1\my_program\build\my_program\out00-PYZ.pyz\matplotlib.pyplot", line 108, in <module>
File "C:\Users\user\desktop\PyInstaller-2.1\my_program\build\my_program\out00-PYZ.pyz\matplotlib.backends", line 32, in pylab_setup
File "C:\Users\user\desktop\PyInstaller-2.1\PyInstaller\loader\pyi_importers.py", line 270, in load_module
exec(bytecode, module.__dict__)
File "C:\Users\user\desktop\PyInstaller-2.1\my_program\build\my_program\out00-PYZ.pyz\matplotlib.backends.backend_tkagg", line 7, in <module>
File "C:\Users\user\desktop\PyInstaller-2.1\my_program\build\my_program\out00-PYZ.pyz\six", line 194, in load_module
File "C:\Users\user\desktop\PyInstaller-2.1\my_program\build\my_program\out00-PYZ.pyz\six", line 108, in _resolve
File "C:\Users\user\desktop\PyInstaller-2.1\my_program\build\my_program\out00-PYZ.pyz\six", line 779, in _import_module
ImportError: No module named FileDialog
以下是我的代码中的导入:
import Tkinter
from tkFileDialog import askopenfilename
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.mlab as mlab
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
import subprocess
from PIL import Image, ImageTk
import os
有谁知道导致此问题/解决方案是什么?我认为错误是输入tkFileDialog?
Edit2:当我在我的解释器(Spyder)中运行它时,程序运行正常但是当我使用PyInstaller打包它时,生成的应用程序会出现此错误。
答案 0 :(得分:8)
根据this question添加import FileDialog
解决问题。 Matplotlib似乎需要这个。
但是,我在我的脚本上使用了Pyinstaller,也导入了matplotlib,它没有给出这样的错误。所以我不知道这里有什么问题。