title: Python tkinter 8.5 import messagebox
body: <p>The following code runs fine within IDLE, but otherwise I get "NameError: global name 'messagebox' is not defined". However, if I explicitly state <code>from tkinter import messagebox</code>, it runs fine from where ever. </p>
  
  <pre><code>from tkinter import *
  from tkinter import ttk 
  
  root = Tk()
  mainFrame = ttk.Frame(root)
  messagebox.showinfo("My title", "My message", icon="warning", parent=mainFrame)
  </code></pre>
  
  <p>Why does IDLE not need the explicit import statement but elsewhere it is required?</p>