def test_list(tmp_dir: str, manager: EnvManager, poetry: "Poetry", config: "Config"): config.merge({"virtualenvs": {"path": str(tmp_dir)}}) venv_name = manager.generate_env_name("simple-project", str(poetry.file.parent)) (Path(tmp_dir) / f"{venv_name}-py3.7").mkdir() (Path(tmp_dir) / f"{venv_name}-py3.6").mkdir() venvs = manager.list() assert len(venvs) == 2 assert venvs[0].path == (Path(tmp_dir) / f"{venv_name}-py3.6") assert venvs[1].path == (Path(tmp_dir) / f"{venv_name}-py3.7")
def handle(self): # type: () -> None from poetry.utils.env import EnvManager manager = EnvManager(self.poetry) current_env = manager.get() for venv in manager.list(): name = venv.path.name if self.option("full-path"): name = str(venv.path) if venv == current_env: self.line("<info>{} (Activated)</info>".format(name)) continue self.line(name)
def handle(self): from poetry.utils.env import EnvManager poetry = self.poetry manager = EnvManager(poetry.config) current_env = manager.get(self.poetry.file.parent) for venv in manager.list(self.poetry.file.parent): name = venv.path.name if self.option("full-path"): name = str(venv.path) if venv == current_env: self.line("<info>{} (Activated)</info>".format(name)) continue self.line(name)
def handle(self) -> None: from poetry.utils.env import EnvManager pythons = self.argument("python") all = self.option("all") if not (pythons or all): self.line("No virtualenv provided.") manager = EnvManager(self.poetry) # TODO: refactor env.py to allow removal with one loop for python in pythons: venv = manager.remove(python) self.line(f"Deleted virtualenv: <comment>{venv.path}</comment>") if all: for venv in manager.list(): manager.remove_venv(venv.path) self.line( f"Deleted virtualenv: <comment>{venv.path}</comment>")
def handle(self) -> int: from poetry.utils.env import EnvManager manager = EnvManager(self.poetry) current_env = manager.get() for venv in manager.list(): name = venv.path.name if self.option("full-path"): name = str(venv.path) if venv == current_env: self.line(f"<info>{name} (Activated)</info>") continue self.line(name) return 0
def get_poetry_venv_paths(): '''Return list of venv paths, though typically only the first matters''' manager = EnvManager(poetry) return [venv.path for venv in manager.list()]