ImportError: No module named 'tkinter' after pyInstaller

ImportError: No module named 'tkinter' after pyInstaller

我想做一个可执行文件,但每次我 运行 它写入的 .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,这会在 dist 文件夹中创建一个 prog.exe。当我 运行 这个代码时,我有

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

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

OS : Windows64

Python : Win64 3.5

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

注 2 : 我只在科学问题上使用 Python。我不是计算机科学家,所以在解释计算机方面的东西时请善待我 :S

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

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

问题是 pyinstaller 看不到二级导入。因此,如果您导入模块 A,pyinstaller 会看到这一点。但是在 A 中导入的任何附加模块都不会被看到。

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

hiddenimports=[],

hiddenimports=["tkinter"],

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