Skip to content

Commit

Permalink
ensure clean virtual environment
Browse files Browse the repository at this point in the history
  • Loading branch information
manfred-kaiser committed Mar 13, 2024
1 parent 1b08cd5 commit 83fc904
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 13 deletions.
4 changes: 3 additions & 1 deletion appimage/AppRun
Expand Up @@ -25,7 +25,9 @@ if [ -z $APPDIR ]; then
export APPDIR=$(dirname $(readlink -f "$0"))
fi

if [ -n $VIRTUAL_ENV ]; then
export PYTHONNOUSERSITE=1
if [ -n "$VIRTUAL_ENV" ]; then
unset PYTHONNOUSERSITE
export PYTHONUSERBASE="$VIRTUAL_ENV"
export PATH=$VIRTUAL_ENV/bin:$PATH
fi
Expand Down
3 changes: 2 additions & 1 deletion appimage/startapp.py
Expand Up @@ -70,7 +70,8 @@ def __init__(self) -> None:
self.config.read(os.path.join(self.appdir, "appimage.ini"))

self.default_ep = self.config.get("appimage", "entry_point", fallback=None)
self.argv0 = os.path.basename(os.environ.get("ARGV0"))
argv0_complete = os.environ.get("ARGV0")
self.argv0 = os.path.basename(argv0_complete) if argv0_complete else None
self.env_ep = os.environ.get("APP_ENTRY_POINT")
self.app_interpreter = os.environ.get("APP_INTERPRETER")

Expand Down
16 changes: 5 additions & 11 deletions sshmitm/commands/venv.py
@@ -1,4 +1,3 @@
from configparser import ConfigParser
import os
import argparse
from importlib.metadata import entry_points
Expand All @@ -14,7 +13,8 @@

SYMLINK_TARGET = "python3"

def patch_appimage_venv(env_builder: EnvBuilder, context: "SimpleNamespace") -> None:

def patch_appimage_venv(context: "SimpleNamespace") -> None:
# if executed as AppImage override python symlink
# this is not relevant for extracted AppImages
appimage_path = os.environ.get("APPIMAGE")
Expand All @@ -39,7 +39,7 @@ def patch_appimage_venv(env_builder: EnvBuilder, context: "SimpleNamespace") ->
def setup_python_patched(self: EnvBuilder, context: "SimpleNamespace") -> None:
# call monkey patched function
self.setup_python_original(context) # type: ignore[attr-defined]
patch_appimage_venv(self, context)
patch_appimage_venv(context)


class SshMitmVenv(SubCommand):
Expand All @@ -48,6 +48,7 @@ class SshMitmVenv(SubCommand):
@classmethod
def config_section(cls) -> Optional[str]:
return None

def register_arguments(self) -> None:
self.parser.add_argument(
"dirs",
Expand All @@ -73,13 +74,6 @@ def execute(self, args: argparse.Namespace) -> None:
EnvBuilder.setup_python_original = EnvBuilder.setup_python # type: ignore[attr-defined]
EnvBuilder.setup_python = setup_python_patched # type: ignore[method-assign]

builder = EnvBuilder(
system_site_packages=False,
clear=False,
symlinks=True,
upgrade=False,
with_pip=args.with_pip,
prompt=None,
)
builder = EnvBuilder(symlinks=True)
for d in args.dirs:
builder.create(d)

0 comments on commit 83fc904

Please sign in to comment.