From e4ab10fe9239bf00ac6c470a242f0d40171ea9ba Mon Sep 17 00:00:00 2001 From: Fabian Dill Date: Wed, 23 Mar 2022 13:53:35 +0100 Subject: [PATCH] MultiServer: try to import tkinter, then provide some feedback (#329) * MultiServer: try to import tkinter, then provide some feedback TK may not be installed alongside python on some systems, like minimal linux installations. * specify tkinter package Co-authored-by: Hussein Farran Co-authored-by: Hussein Farran --- MultiServer.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/MultiServer.py b/MultiServer.py index e753b332..22203472 100644 --- a/MultiServer.py +++ b/MultiServer.py @@ -1932,11 +1932,18 @@ async def main(args: argparse.Namespace): try: if not data_filename: - import tkinter - import tkinter.filedialog - root = tkinter.Tk() - root.withdraw() - data_filename = tkinter.filedialog.askopenfilename(filetypes=(("Multiworld data", "*.archipelago *.zip"),)) + try: + import tkinter + import tkinter.filedialog + except Exception as e: + logging.error("Could not load tkinter, which is likely not installed. " + "This attempt was made because no .archipelago file was provided as argument. " + "Either provide a file or ensure the tkinter package is installed.") + raise e + else: + root = tkinter.Tk() + root.withdraw() + data_filename = tkinter.filedialog.askopenfilename(filetypes=(("Multiworld data", "*.archipelago *.zip"),)) ctx.load(data_filename, args.use_embedded_options)