fix: use 'sudo env PYTHONPATH=...' instead of -E for sudo re-exec

This commit is contained in:
2026-08-27 21:32:06 +02:00
parent e699dbeb86
commit 21254d3c7a
+3 -6
View File
@@ -120,13 +120,10 @@ def interactive(mode: str | None, output: Path | None, keep_rootfs: bool, yes: b
args.append("--keep-rootfs")
if output:
args.extend(["-o", str(output)])
env = os.environ.copy()
# include user site-packages so root can find click/pyyaml/rich/questionary
# use 'sudo env PYTHONPATH=...' so root finds user-installed packages
user_site = site.getusersitepackages()
if user_site and os.path.isdir(user_site):
existing = env.get("PYTHONPATH", "")
env["PYTHONPATH"] = f"{user_site}:{existing}" if existing else user_site
_sp.run(["sudo"] + args, check=True, env=env)
sudo_cmd = ["sudo", "env", f"PYTHONPATH={user_site}"] + args
_sp.run(sudo_cmd, check=True)
return
if cfg["_mode"] == "fakeroot":