diff --git a/src/manage/aliasutils.py b/src/manage/aliasutils.py index ac2b7b4..e94e776 100644 --- a/src/manage/aliasutils.py +++ b/src/manage/aliasutils.py @@ -21,26 +21,38 @@ SCRIPT_CODE = """import sys +# Avoid letting __main__.__file__ lead back to this script try: - if not sys.path[0]: - del sys.path[0] -except AttributeError: + __file__ = None +except Exception: pass -except IndexError: + +# Also clear __spec__.origin when it exists +try: + __spec__.origin = None +except Exception: pass # Replace argv[0] with our executable instead of the script name. try: if sys.argv[0][-14:].upper() == ".__SCRIPT__.PY": sys.argv[0] = sys.argv[0][:-14] - sys.orig_argv[0] = sys.argv[0] except AttributeError: pass except IndexError: pass -from {mod} import {func} -sys.exit({func}()) +if __name__ == "__main__": + try: + if not sys.path[0]: + del sys.path[0] + except AttributeError: + pass + except IndexError: + pass + + from {mod} import {func} + sys.exit({func}()) """