Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: write to stderr in utils.env #6429

Merged
merged 1 commit into from Sep 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
28 changes: 15 additions & 13 deletions src/poetry/utils/env.py
Expand Up @@ -536,15 +536,15 @@ def _detect_active_python(self, io: IO) -> str | None:
executable = None

try:
io.write_line(
io.write_error_line(
"Trying to detect current active python executable as specified in the"
" config.",
verbosity=Verbosity.VERBOSE,
)
executable = self._full_python_path("python")
io.write_line(f"Found: {executable}", verbosity=Verbosity.VERBOSE)
io.write_error_line(f"Found: {executable}", verbosity=Verbosity.VERBOSE)
except CalledProcessError:
io.write_line(
io.write_error_line(
"Unable to detect the current active python executable. Falling back to"
" default.",
verbosity=Verbosity.VERBOSE,
Expand Down Expand Up @@ -651,7 +651,9 @@ def deactivate(self, io: IO) -> None:
env = envs.get(name)
if env is not None:
venv = venv_path / f"{name}-py{env['minor']}"
io.write_line(f"Deactivating virtualenv: <comment>{venv}</comment>")
io.write_error_line(
f"Deactivating virtualenv: <comment>{venv}</comment>"
)
del envs[name]

envs_file.write(envs)
Expand Down Expand Up @@ -911,7 +913,7 @@ def create_venv(
python = "python" + python_to_try

if io.is_debug():
io.write_line(f"<debug>Trying {python}</debug>")
io.write_error_line(f"<debug>Trying {python}</debug>")

try:
python_patch = decode(
Expand All @@ -930,7 +932,7 @@ def create_venv(
continue

if supported_python.allows(Version.parse(python_patch)):
io.write_line(f"Using <c1>{python}</c1> ({python_patch})")
io.write_error_line(f"Using <c1>{python}</c1> ({python_patch})")
executable = python
python_minor = ".".join(python_patch.split(".")[:2])
break
Expand All @@ -955,7 +957,7 @@ def create_venv(

if not venv.exists():
if create_venv is False:
io.write_line(
io.write_error_line(
"<fg=black;bg=yellow>"
"Skipping virtualenv creation, "
"as specified in config file."
Expand All @@ -964,7 +966,7 @@ def create_venv(

return self.get_system_env()

io.write_line(
io.write_error_line(
f"Creating virtualenv <c1>{name}</> in"
f" {venv_path if not WINDOWS else get_real_windows_path(venv_path)!s}"
)
Expand All @@ -976,11 +978,11 @@ def create_venv(
f"<warning>The virtual environment found in {env.path} seems to"
" be broken.</warning>"
)
io.write_line(f"Recreating virtualenv <c1>{name}</> in {venv!s}")
io.write_error_line(f"Recreating virtualenv <c1>{name}</> in {venv!s}")
self.remove_venv(venv)
create_venv = True
elif io.is_very_verbose():
io.write_line(f"Virtualenv <c1>{name}</> already exists.")
io.write_error_line(f"Virtualenv <c1>{name}</> already exists.")

if create_venv:
self.build_venv(
Expand Down Expand Up @@ -1917,14 +1919,14 @@ def build_environment(

if io:
if not overwrite:
io.write_line("")
io.write_error_line("")

requires = [
f"<c1>{requirement}</c1>"
for requirement in poetry.pyproject.build_system.requires
]

io.overwrite(
io.overwrite_error(
"<b>Preparing</b> build environment with build-system requirements"
f" {', '.join(requires)}"
)
Expand All @@ -1938,7 +1940,7 @@ def build_environment(

if overwrite:
assert io is not None
io.write_line("")
io.write_error_line("")

yield venv
else:
Expand Down
22 changes: 10 additions & 12 deletions tests/console/commands/env/test_use.py
Expand Up @@ -86,12 +86,11 @@ def test_activate_activates_non_existing_virtualenv_no_envs_file(
assert envs[venv_name]["minor"] == "3.7"
assert envs[venv_name]["patch"] == "3.7.1"

expected = f"""\
Creating virtualenv {venv_py37.name} in {venv_py37.parent}
Using virtualenv: {venv_py37}
"""

assert tester.io.fetch_output() == expected
assert (
tester.io.fetch_error()
== f"Creating virtualenv {venv_py37.name} in {venv_py37.parent}\n"
)
assert tester.io.fetch_output() == f"Using virtualenv: {venv_py37}\n"


def test_get_prefers_explicitly_activated_virtualenvs_over_env_var(
Expand Down Expand Up @@ -149,9 +148,8 @@ def test_get_prefers_explicitly_activated_non_existing_virtualenvs_over_env_var(

tester.execute(python_minor)

expected = f"""\
Creating virtualenv {venv_dir.name} in {venv_dir.parent}
Using virtualenv: {venv_dir}
"""

assert tester.io.fetch_output() == expected
assert (
tester.io.fetch_error()
== f"Creating virtualenv {venv_dir.name} in {venv_dir.parent}\n"
)
assert tester.io.fetch_output() == f"Using virtualenv: {venv_dir}\n"