Source code for pkglts.install_env.conda_front_end

"""Conda front end to install package in current environment.
"""
from json import loads
from subprocess import Popen, PIPE


[docs]def installed_packages(): """Iterate on all packages installed in the current python environment. return: (iter of str) """ p = Popen(["conda", "list", "--json"], stdin=PIPE, stdout=PIPE, stderr=PIPE) output, err = p.communicate("") rc = p.returncode if rc != 0: raise UserWarning("unable to execute 'conda list'") for pkg in loads(output): yield pkg.split("-")[0]
[docs]def install(name): """Install a package in the current python environment. arg: - name (str): name of the package return: - (bool): whether installation was successful or not """ p = Popen(["conda", "install", name], stdin=PIPE, stdout=PIPE, stderr=PIPE) p.communicate("") rc = p.returncode if rc == 0: return True else: # try to use pip if conda install fail from .pip_front_end import install as pip_install return pip_install(name)