ImportError:没有名为' tkinter'在pyInstaller

时间:2016-12-19 18:39:06

标签: python tkinter exe pyinstaller importerror

我想要执行一个可执行文件,但是每次运行.exe时它会写ImportError: No module named 'tkinter',而我在Stackowerflow上读到的所有内容都无法帮助我!

我的python程序很简单(ODE求解器)并且只请求:

from math import*
from pylab import*
import numpy as np

import matplotlib
import numpy as np
import matplotlib.pyplot as plt

我将prog.py的副本粘贴到pyInstaller所在的C:\Python\Scripts文件夹中。我计算命令行pyinstaller -F eulersolver.py,这会在prog.exe文件夹中创建dist。当我运行此代码时,我有

ImportError: No module named 'tkinter'
Failed to execute script prog

但是我的程序不使用这个模块......你对我有什么建议或帮助吗?

操作系统:Windows64

Python: 3.5 for Win64

注意:我今天已经unistall / install python 3次(在阅读本网站和国外的文档后)。

注2:我仅将Python用于科学问题。我不是计算机科学家,所以在解释计算机时要善待我:S

3 个答案:

答案 0 :(得分:2)

最终为pyinstaller -F --hidden-import=tkinter --hidden-import=tkinter.filedialog prog.py工作非常感谢!!!

答案 1 :(得分:1)

你应该使用隐藏的导入
pyinstaller eulersolver.py --hidden-import=tkinter -y

答案 2 :(得分:0)

问题是pyinstaller没有看到二级导入。因此,如果您导入模块 A ,pyinstaller会看到这一点。但是不会看到在 A 中导入的任何其他模块。

您无需更改python脚本中的任何内容。您可以直接将缺少的导入添加到规范文件(在您的情况下为 prog.spec )。 只需更改以下行:

hiddenimports=[],

hiddenimports=["tkinter"],

之后运行pyinstaller prog.spec以创建 prog.exe