From 5cc8cf07ca0cbe6cb9337ce304fea46a720e1e08 Mon Sep 17 00:00:00 2001 From: Sebastian Wehrmann Date: Tue, 6 Feb 2024 09:34:57 +0100 Subject: [PATCH] Add symlink to current appenv. This allows adding a stable path to the Python interpreter in IDEs like VS Code. --- src/appenv.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/appenv.py b/src/appenv.py index 4512c10..c60dffe 100755 --- a/src/appenv.py +++ b/src/appenv.py @@ -333,7 +333,10 @@ def prepare(self, args=None, remaining=None): b"".join(hash_content)).hexdigest()[:8] env_dir = os.path.join(self.appenv_dir, env_hash) - whitelist = set([env_dir, os.path.join(self.appenv_dir, "unclean")]) + whitelist = set([ + env_dir, + os.path.join(self.appenv_dir, "unclean"), + os.path.join(self.appenv_dir, 'current')]) for path in glob.glob( "{appenv_dir}/*".format(appenv_dir=self.appenv_dir)): if path not in whitelist: @@ -369,6 +372,12 @@ def prepare(self, args=None, remaining=None): with open(os.path.join(env_dir, "appenv.ready"), "w") as f: f.write("Ready or not, here I come, you can't hide\n") + current_path = os.path.join(self.appenv_dir, 'current') + try: + os.unlink(current_path) + except FileNotFoundError: + pass + os.symlink(env_dir, current_path) self.env_dir = env_dir