diff --git a/python/gui.py b/python/gui.py index 19e7e897..9aab6cc4 100644 --- a/python/gui.py +++ b/python/gui.py @@ -2,6 +2,9 @@ import netgen def StartGUI(): from tkinter import Tk + from netgen import config + import sys, os + try: # the GUI tries to load ngsolve.tcl (which loads ngsolve shared libraries) # BUT might fail to load dependencies (like mkl), these are handled by the @@ -16,6 +19,12 @@ def StartGUI(): win.tk.eval('lappend ::auto_path ' + netgen._netgen_bin_dir) # load with absolute path to avoid issues on MacOS win.tk.eval('load "'+netgen._netgen_lib_dir.replace('\\','/')+'/libgui[info sharedlibextension]" gui') + + if config.is_python_package and 'darwin' in sys.platform: + # libngsolve and other libraries are installed into netgen python dir to keep relative installation paths, but tcl won't find them there automatically + netgen_dir = os.path.abspath(os.path.dirname(netgen.__file__)) + win.tk.eval(f'set netgen_library_dir {netgen_dir}') + win.tk.eval( netgen.libngpy._meshing._ngscript)