venv fails with confusing ENOENT when existing venv has broken symlinks
Abierto
@brettcannon ya está trabajando en esto.
Desde el 8/6/2026.
stdlib
topic-venv
type-bug
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
Bug description:
python -m venv aborts with [Errno 2] No such file or directory if the target directory already contains a stale venv whose interpreter symlinks point to aremoved Python install.
Re-running venv on an existing environment shouldrefresh those links instead of failing.
Reproducer
mkdir -p oldvenv/bin
ln -s /nonexistent/python3 oldvenv/bin/python3
python3 -m venv oldvenv
Actual behavior
Traceback ends with FileNotFoundError: [Errno 2] No such file or directory: '/tmp/oldvenv/bin/python3' during the chmod phase.
Expected behavior
venv should replace broken interpreter symlinks just as it overwrites other files when re-run on an existing directory (without requiring --clear).
CPython versions tested on:
3.13
Operating systems tested on:
Linux
Linked PRs
- gh-143770
- gh-150985
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.