/
githubmirror
/
zulip
Обзор
Документация
Войти
/
githubmirror
/
zulip
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
scripts/lib/create-production-venv
36 строк
1 KB
Anders Kaseorg
provision: Use uv sync --no-managed-python.
25 мар 2026, 14:05
25 мар 2026, 14:05
d282ef3
Код
Авторство
О чём код?
#!/usr/bin/env python3 import argparse import os import platform import sys ZULIP_PATH = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) if ZULIP_PATH not in sys.path: sys.path.append(ZULIP_PATH) from scripts.lib.setup_venv import get_venv_dependencies from scripts.lib.zulip_tools import os_families, run parser = argparse.ArgumentParser(description="Create a production virtualenv with caching") parser.add_argument("deploy_path") args = parser.parse_args() # install dependencies for setting up the virtualenv distro_info = platform.freedesktop_os_release() vendor = distro_info["ID"] os_version = distro_info["VERSION_ID"] VENV_DEPENDENCIES = get_venv_dependencies(vendor, os_version) if "debian" in os_families(): run(["apt-get", "-y", "install", "--no-install-recommends", *VENV_DEPENDENCIES]) elif "fedora" in os_families(): run(["yum", "-y", "install", *VENV_DEPENDENCIES]) else: print("Unsupported platform: {}".format(distro_info["ID"])) sys.exit(1) os.chdir(ZULIP_PATH) run(["scripts/lib/install-uv"]) run( ["uv", "sync", "--frozen", "--no-managed-python", "--only-group=prod"], env={k: v for k, v in os.environ.items() if k not in {"PYTHONDEVMODE", "PYTHONWARNINGS"}}, )