Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

cx_Freeze ImportError: cannot import name

Tags:

I'm trying create an executable for Windows for a GUI application in tkinter using the ttk module. I made an exe with cx_freeze, but when I run the app in the console it gives me the following error:

    D:\My Dropbox\python\SAR Calculator\src\dist_tk>
Traceback (most recent call last):

  File "C:\Python31\lib\site-packages\cx_Freeze\
7, in <module>

    exec(code, m.__dict__)

  File "sarcalc_tk.py", line 14, in <module>

  File "C:\Python31\lib\tkinter\__init__.py", li

    from tkinter import _fix

ImportError: cannot import name _fix

Here are lines 14 and 15 from my code:

import tkinter as tk
import tkinter.ttk as ttk
like image 509
Alquimista Avatar asked Feb 08 '10 16:02

Alquimista


1 Answers

Looks like cx_freeze doesn't realize it should include the tkinter._fix module, which is conditionally imported by tkinter/__init__.py. You can tell it to include that module explicitly with the --include-modules command-line argument, or the includes keyword argument to cx_Freeze.Executable in your setup.py

like image 138
Thomas Wouters Avatar answered Oct 12 '22 23:10

Thomas Wouters