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

时间:2014-09-17 13:44:18

标签: python python-2.7 tkinter pyinstaller

我编写了一个程序,我试图使用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打包它时,生成的应用程序会出现此错误。

1 个答案:

答案 0 :(得分:8)

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