fix pyenv

This commit is contained in:
Mateusz Gruszczyński
2025-10-24 14:59:44 +02:00
parent d79533e4b6
commit 20a7ab64de

View File

@@ -248,15 +248,19 @@ def setup_certbot_venv(venv_dir: Path = Path("/opt/certbot")):
"PATH": "/usr/lib/pyenv/bin:/usr/bin:/bin"
})
with step(f"Installing Python {PYTHON_VERSION} via pyenv into {PYENV_ROOT}"):
cmd = (
'export HOME=/opt/npm; '
f'export PYENV_ROOT="{PYENV_ROOT}"; '
'export PATH="$PYENV_ROOT/bin:/usr/lib/pyenv/bin:/usr/bin:/bin"; '
'mkdir -p "$PYENV_ROOT"; cd /opt/npm; '
f'/usr/lib/pyenv/bin/pyenv install -s {PYTHON_VERSION}'
)
run([
"sudo", "-u", PYENV_OWNER, "-s",
"env",
f"HOME={env_pyenv['HOME']}",
f"PYENV_ROOT={env_pyenv['PYENV_ROOT']}",
f"PATH={env_pyenv['PATH']}",
"bash", "-lc",
f'cd /opt/npm && "{pyenv_bin}" install -s {PYTHON_VERSION}'
], env=env_pyenv)
"sudo", "-H", "-u", PYENV_OWNER,
"--preserve-env=HOME,PYENV_ROOT,PATH",
"bash", "-lc", cmd
])
profile_snippet = f"""# Auto-generated by setup_certbot_venv
# Ustawienia pyenv dla uzytkownika '{PYENV_OWNER}'