Initial commit.

This commit is contained in:
Antoine Nguyen
2015-10-14 17:27:01 +02:00
parent d241066c27
commit 84fe9b0d16
49 changed files with 4270 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
"""Python related tools."""
import os
from . import utils
def get_pip_path(venv):
"""Return the full path to pip command."""
binpath = "pip"
if venv:
binpath = os.path.join(venv, "bin", binpath)
return binpath
def install_package(name, venv=None, upgrade=False, **kwargs):
"""Install a Python package using pip."""
cmd = "{} install {}{}".format(
get_pip_path(venv), " -U " if upgrade else "", name)
utils.exec_cmd(cmd, **kwargs)
def install_packages(names, venv=None, upgrade=False, **kwargs):
"""Install a Python package using pip."""
cmd = "{} install {}{}".format(
get_pip_path(venv), " -U " if upgrade else "", " ".join(names))
utils.exec_cmd(cmd, **kwargs)
def setup_virtualenv(path, sudo_user=None):
"""Install a virtualenv if needed."""
if os.path.exists(path):
return
utils.install_system_package("python-virtualenv")
with utils.settings(sudo_user=sudo_user):
utils.exec_cmd("virtualenv {}".format(path))
install_package("pip", venv=path, upgrade=True)