import TkMessageBox
当我导入 TkMessageBox 时,它显示 messsge ‘ImportError: No module named ‘TkMessageBox’ 。
据我所知,我使用的是 python 3.3.2 和 Tk 8.5。
我使用的是错误版本的 python 还是导入错误?
任何答案都将非常有用。或者我正在使用的版本中是否有类似的东西?
原文由 Tom Lowbridge 发布,翻译遵循 CC BY-SA 4.0 许可协议
import TkMessageBox
当我导入 TkMessageBox 时,它显示 messsge ‘ImportError: No module named ‘TkMessageBox’ 。
据我所知,我使用的是 python 3.3.2 和 Tk 8.5。
我使用的是错误版本的 python 还是导入错误?
任何答案都将非常有用。或者我正在使用的版本中是否有类似的东西?
原文由 Tom Lowbridge 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您不想更改 Python 2 和 Python 3 的代码,您可以使用 import as:
try:
from tkinter import messagebox
except ImportError:
# Python 2
import tkMessageBox as messagebox
:edit: 但是,由于 Debian 政策,tkinter 在 Debian 中是一个单独的包,所以为了避免不正确地回退到 Python 2 代码,我现在使用:
import sys
if sys.version_info.major >= 3:
from tkinter import messagebox
else:
import tkMessageBox as messagebox
然后按如下方式使用消息框将在任一版本中工作:
messagebox.showerror("Error", "Message.")
原文由 Poikilos 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
在 Python3.x 中,情况发生了一些变化:
我的意思是我们所说的
tkMessageBox
在 Python2.x 中变成tkinter.messagebox
在 Python3.x 中