venv fails with confusing ENOENT when existing venv has broken symlinks
Aberta
@brettcannon já está trabalhando nisso.
Desde 8/6/2026.
stdlib
topic-venv
type-bug
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 36k
- Métricas de merge de PRs
- Métricas de PR pendentes
Descrição
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
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Avaliação
Esta issue ainda não foi avaliada.