La secuencia de comandos falla con AttributeError cuando se ejecuta en CMD, pero se ejecuta correctamente en IDLE

Soy bastante nuevo y confundido. Intenté una secuencia de comandos simple con tkinter y funcionó bien en IDLE, pero cuando bash iniciarlo desde CMD, se abre la ventana de tkinter y se ve bien, pero cuando intentas hacer clic en cualquier botón o en las opciones del menú del archivo, aparece un AtributeError:

Exception in Tkinter callback Traceback (most recent call last): File "C:\Python33\lib\tkinter\__init__.py", line 1489, in __call__ return self.func(*args) File "060214_Manual_Evaluation_of_Protein-protein_Cross-Links.py", line 13, in Open_csv self.CsvPath = tk.filedialog.askopenfilename() AttributeError: 'module' object has no attribute 'filedialog' 

Estoy agradecido por cualquier entrada o donde podría encontrar más información sobre las diferencias entre IDLE y CMD.

La gente preguntó acerca de la versión de python porque tk.filedialog se deletrea de manera diferente en 2.x. Sin embargo, sospecho que su problema es que Idle ejecuta código en un entorno administrado que enmascara un error en su código no publicado al no importar correctamente tkinter.filedialog. Para ilustrar, el seguimiento es del intérprete de consola estándar 3.4.2

 >>> import tkinter as tk >>> tk.filedialog Traceback (most recent call last): File "", line 1, in  AttributeError: 'module' object has no attribute 'filedialog' 

Aquí están las mismas declaraciones en el Shell de inactividad.

 >>> import tkinter as tk >>> tk.filedialog  

La razón por la que no hay error es porque Inactivo ya ha importado el submódulo de tkinter.filedialog como tkinter.filedialog (en sys.modules). Si este es su problema también, una solución para usted es agregar la importación a continuación y referirse a ‘fileialog’ sin el prefijo ‘tk’.

 >>> from tkinter import filedialog >>> filedialog  >>> filedialog.askopenfilename  

Si esto no resuelve este problema, edite su pregunta para agregar un ejemplo de código realmente mínimo y explique exactamente cómo se ejecuta con Idle y ‘CMD’ (¿es este cmd.exe en Windows, o qué?).

Parece que IDLE establece un PYTHONPATH diferente, o usa un ejecutable python diferente; asegúrate de usar la misma versión de python comprobando sys.version_info de ambos y comparando sys.path .