zulip/scripts/lib/create-production-venv

29 lines
959 B
Python
Executable File

#!/usr/bin/env python
import os
import argparse
from os.path import dirname, abspath
import sys
ZULIP_PATH = dirname(dirname(dirname(abspath(__file__))))
if ZULIP_PATH not in sys.path:
sys.path.append(ZULIP_PATH)
from scripts.lib.zulip_tools import run
from scripts.lib.setup_venv import setup_virtualenv, VENV_DEPENDENCIES
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
run(["apt-get", "-y", "install"] + VENV_DEPENDENCIES)
python_version = sys.version_info[0]
cached_venv_path = setup_virtualenv(
os.path.join(args.deploy_path, "zulip-venv" if sys.version_info[0] == 2 else "zulip-py3-venv"),
os.path.join(ZULIP_PATH, "requirements", "py{}_prod.txt".format(python_version)),
virtualenv_args=['-p', 'python{}'.format(python_version)])
# Now the virtualenv has been activated