Skip to content

Commit 3fbb7df

Browse files
authored
Make entrypoint script less noticeable. (#365)
Fixes #361
1 parent 459d65a commit 3fbb7df

1 file changed

Lines changed: 19 additions & 7 deletions

File tree

src/manage/aliasutils.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,38 @@
2121

2222
SCRIPT_CODE = """import sys
2323
24+
# Avoid letting __main__.__file__ lead back to this script
2425
try:
25-
if not sys.path[0]:
26-
del sys.path[0]
27-
except AttributeError:
26+
__file__ = None
27+
except Exception:
2828
pass
29-
except IndexError:
29+
30+
# Also clear __spec__.origin when it exists
31+
try:
32+
__spec__.origin = None
33+
except Exception:
3034
pass
3135
3236
# Replace argv[0] with our executable instead of the script name.
3337
try:
3438
if sys.argv[0][-14:].upper() == ".__SCRIPT__.PY":
3539
sys.argv[0] = sys.argv[0][:-14]
36-
sys.orig_argv[0] = sys.argv[0]
3740
except AttributeError:
3841
pass
3942
except IndexError:
4043
pass
4144
42-
from {mod} import {func}
43-
sys.exit({func}())
45+
if __name__ == "__main__":
46+
try:
47+
if not sys.path[0]:
48+
del sys.path[0]
49+
except AttributeError:
50+
pass
51+
except IndexError:
52+
pass
53+
54+
from {mod} import {func}
55+
sys.exit({func}())
4456
"""
4557

4658

0 commit comments

Comments
 (0)