diff --git a/news/1283.bugfix.md b/news/1283.bugfix.md new file mode 100644 index 0000000000000000000000000000000000000000..a2a48b3c4cdbcbda660a308cadd8ec86f56b1ba8 --- /dev/null +++ b/news/1283.bugfix.md @@ -0,0 +1 @@ +Fix a bug that completion scripts are interpreted as rich markups. diff --git a/pdm/cli/commands/completion.py b/pdm/cli/commands/completion.py index d874a340ccfe2652e58df7219f6105636d46adba..77a035ae7acc11e71e11558489f1b6a4d2e3221f 100644 --- a/pdm/cli/commands/completion.py +++ b/pdm/cli/commands/completion.py @@ -33,4 +33,5 @@ class Command(BaseCommand): completion = importlib.resources.read_text( "pdm.cli.completions", f"pdm.{suffix}" ) - project.core.ui.echo(completion.replace("%{python_executable}", sys.executable)) + # Can't use rich print or otherwise the rich markups will be interpreted + print(completion.replace("%{python_executable}", sys.executable)) diff --git a/pdm/project/core.py b/pdm/project/core.py index 93e7af217d2221e0c8b261b5a02ff6b598b5d0b0..4a7e3d2201c59b70dfcf6053f1934a2625cbc95b 100644 --- a/pdm/project/core.py +++ b/pdm/project/core.py @@ -281,7 +281,9 @@ class Project: backend: str = self.config["venv.backend"] venv_backend = BACKENDS[backend](self, None) - path = venv_backend.create(in_project=self.config["venv.in_project"]) + path = venv_backend.create( + force=True, in_project=self.config["venv.in_project"] + ) self.core.ui.echo( f"Virtualenv is created successfully at [green]{path}[/]", err=True )