# import pdb ; pdb = pdb.set_trace import os import sys # Partial fix for #541. # See https://stackoverflow.com/questions/24835155/pyw-and-pythonw-does-not-run-under-windows-7/30310192#30310192 if sys.executable.endswith("pythonw.exe"): sys.stdout = open(os.devnull, "w"); sys.stderr = open( os.path.join(os.getenv("TEMP"), "stderr-"+os.path.basename(sys.argv[0])), "w") path = os.getcwd() if path not in sys.path: # print('appending %s to sys.path' % path) sys.path.append(path) # Import leoGlobals, but do NOT set g. import leo.core.leoGlobals as leoGlobals # Create g.app. import leo.core.leoApp as leoApp leoGlobals.app = leoApp.LeoApp() # **Now** we can set g. g = leoGlobals assert(g.app) # --- this creates a traceback --- g.es_print(g.computeLeoDir()) r''' Result: (leo-dev) matt@ENV-SURFACE-MHW C:\Users\mattw\code\leo-editor > python find-leo-lib-using-leo.py Traceback (most recent call last): File "find-leo-lib-using-leo.py", line 26, in <module> g.es_print(g.computeLeoDir()) File "C:\Users\mattw\code\leo-editor\leo\core\leoGlobals.py", line 3409, in computeLeoDir return g.app.loadManager.computeLeoDir() AttributeError: 'NoneType' object has no attribute 'computeLeoDir' '''