Example #1
0
    def handle(self):
        from poetry.utils.env import EnvManager

        poetry = self.poetry
        manager = EnvManager(poetry.config)
        venv = manager.remove(self.argument("python"), poetry.file.parent)

        self.line("Deleted virtualenv: <comment>{}</comment>".format(venv.path))
Example #2
0
def test_remove_by_name(
    tmp_dir: str,
    manager: EnvManager,
    poetry: "Poetry",
    config: "Config",
    mocker: "MockerFixture",
):
    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()

    mocker.patch(
        "subprocess.check_output",
        side_effect=check_output_wrapper(Version.parse("3.6.6")),
    )

    venv = manager.remove(f"{venv_name}-py3.6")

    assert (Path(tmp_dir) / f"{venv_name}-py3.6") == venv.path
    assert not (Path(tmp_dir) / f"{venv_name}-py3.6").exists()