venv fails with confusing ENOENT when existing venv has broken symlinks
@brettcannon y travaille déjà.
Depuis le 8/6/2026.
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
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
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Évaluation
Cette issue n'a pas encore été évaluée.