Skip to content

Stopped working with python 3.13 on macos #45

Closed
@rafjaf

Description

@rafjaf

Hello,

FreesimpleGUI stopped working for me after upgragding to python 3.13 on macos. It got the following error message (redacted):

Traceback (most recent call last):
...
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/window.py", line 470, in __init__
    self.Finalize()
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/window.py", line 1178, in finalize
    self.Read(timeout=1)
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/window.py", line 959, in read
    results = self._read(timeout=timeout, timeout_key=timeout_key)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/window.py", line 1038, in _read
    self._Show()
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/window.py", line 762, in _Show
    StartupTK(self)
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/__init__.py", line 6999, in StartupTK
    window._create_thread_queue()
  File ".../lib/python3.12/site-packages/FreeSimpleGUI/window.py", line 2470, in _create_thread_queue
    self.thread_strvar.trace('w', self._window_tkvar_changed_callback)
  File "/opt/homebrew/Cellar/[email protected]/3.12.7_1/Frameworks/Python.framework/Ve
rsions/3.12/lib/python3.12/tkinter/__init__.py", line 506, in trace_variable
    self._tk.call("trace", "variable", self._name, mode, cbname)
_tkinter.TclError: bad option "variable": must be add, info, or remove

I was able to solve this with a little help from ChatGPT by replacing line 2470 of window.py by the following text:

            try:
                self.thread_strvar.trace_add('write', self._window_tkvar_changed_callback)
            except AttributeError:
                self.thread_strvar.trace('w', self._window_tkvar_changed_callback)

Apparently, tkinter's API changed in version 3.13 of python, trace having been replaced by trace_add

I hope it helps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions