Пример #1
0
def _nvidia_smi_version():
    cmd = util.which("nvidia-smi")
    if not cmd:
        return "not installed"
    try:
        out = subprocess.check_output(cmd)
    except subprocess.CalledProcessError as e:
        return _warn("ERROR: %s" % e.output.strip())
    else:
        out = out.decode("utf-8")
        m = re.search(r"NVIDIA-SMI ([0-9\.]+)", out)
        if m:
            return m.group(1)
        else:
            log.debug("Unexpected output from nvidia-smi: %s", out)
            return "unknown (error)"
Пример #2
0
def _cuda_version():
    nvcc = util.which("nvcc")
    if not nvcc:
        return "not installed"
    try:
        out = subprocess.check_output([nvcc, "--version"])
    except subprocess.CalledProcessError as e:
        return _warn("ERROR: %s" % e.output.strip())
    else:
        out = out.decode("utf-8")
        m = re.search(r"V([0-9\.]+)", out, re.MULTILINE)
        if m:
            return m.group(1)
        else:
            log.debug("Unexpected output from nvidia-smi: %s", out)
            return "unknown (error)"
Пример #3
0
def _virtualenv_cmd():
    cmd = util.which("virtualenv")
    if not cmd:
        return None
    return [cmd]
Пример #4
0
def _find_cmd(cmds):
    for cmd in cmds:
        if util.which(cmd.split(" ", 1)[0]):
            return cmd
    return DEFAULT_DIFF_CMD
Пример #5
0
def _check_nbconvert():
    nbconvert = util.which("jupyter-nbconvert")
    if not nbconvert:
        log.error("jupyter-nbconvert is required to run Notebooks - "
                  "install it by running 'pip install jupyter' and try again")
        sys.exit(1)
Пример #6
0
def _check_cli():
    if not util.which("aws"):
        cli.error("%s requires the AWS Command Line Interface\n"
                  "Refer to https://docs.aws.amazon.com/cli/latest/"
                  "userguide/installing.html for details." % NAME)
Пример #7
0
def _which_python():
    from guild import util

    return util.which("python")
Пример #8
0
 def _verify_terraform():
     if not util.which("terraform"):
         raise remotelib.OperationError(
             "Terraform is required for this operation - refer to "
             "https://www.terraform.io/intro/getting-started/install.html "
             "for more information.")
Пример #9
0
def _which_guild_exe_for_win():
    return util.find_apply([
        lambda: util.which("guild.cmd"),
        lambda: util.which("guild.exe"),
    ])