fsmosca / Python-Easy-Chess-GUI

A Chess GUI based from Python using PySimpleGUI and Python-Chess.
GNU Lesser General Public License v3.0
161 stars 52 forks source link

module 'subprocess' has no attribute 'CREATE_NO_WINDOW' #39

Closed tillchess closed 3 years ago

tillchess commented 3 years ago

in check_engine_config_file creationflags=subprocess.CREATE_NO_WINDOW) AttributeError: module 'subprocess' has no attribute 'CREATE_NO_WINDOW'

Getting this error even with Pyhton 3.8

fsmosca commented 3 years ago

Thanks for the info. What OS do you use? Did you use python_easy_chess_gui.py or the exe file?

tillchess commented 3 years ago

python_easy_chess_gui.py on OS X with Pyhton 3.8

fsmosca commented 3 years ago

I will fix this issue.

fsmosca commented 3 years ago

You can now try Python Easy Chess GUI v1.14 for the fix on AttributeError: module 'subprocess' has no attribute 'CREATE_NO_WINDOW

Later you will encounter disable/enable issue like this https://github.com/fsmosca/Python-Easy-Chess-GUI/issues/37

The current fix that I see that is not implemented yet in PySimpleGUI.py is this, around line no. 9145. I found it in https://github.com/PySimpleGUI/PySimpleGUI/issues/1538.

    def disable(self):
        """
        Disables window from taking any input from the user
        """
        if not self._is_window_created():
            return
        self.TKroot.grab_release()  # Only 'disables' an already 'enabled' window. Does nothing to a normal window
        # self.TKroot.attributes('-disabled', 1)
        # self.TKroot.grab_set_global()

    def enable(self):
        """
        Re-enables window to take user input after having it be Disabled previously
        """
        if not self._is_window_created():
            return
        self.TKroot.grab_set  # I read grab_set_global messes with all open windows so I wanted to avoid that
        # self.TKroot.attributes('-disabled', 0)
        # self.TKroot.grab_release()

I have no osx, perhaps you can experiment with it by revising the source code of PySimplegUI.py.