ImportError:没有名为FileDialog的模块 - 在PyInstaller之后

Joh*_*row 3 python tkinter pyinstaller python-2.7

我编写了一个程序,我试图使用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
Run Code Online (Sandbox Code Playgroud)

以下是我的代码中的导入:

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
Run Code Online (Sandbox Code Playgroud)

有谁知道导致这个/什么修复是什么?我认为错误是tkFileDialog的输入?

Edit2:当我在我的解释器(Spyder)中运行它时,程序运行正常但是当我使用PyInstaller打包它时,生成的应用程序会出现此错误.

fhd*_*sdg 10

根据这个问题,添加import FileDialog解决了这个问题.Matplotlib似乎需要这个.
但是,我在我的脚本上使用了Pyinstaller,也导入了matplotlib,它没有给出这样的错误.所以我不知道这里的问题究竟是什么.