В pyvenv.cfg предлагают записывать версию Python — появился PEP 838
Версию интерпретатора в pyvenv.cfg каждый инструмент записывает по-своему: где-то это поле version, где-то version_info, причём с patch-версией, которая устаревает после обновления интерпретатора. PEP 838, созданный 15 июля, предлагает навести здесь порядок к Python 3.16.
🔘 новый ключ python-version записывает только major и minor, например 3.16 — patch-обновления его не ломают;
🔘 создатели окружений должны будут писать python-version, чтение старых полей предлагается считать нежелательным;
🔘 интерпретатор сможет отказаться запускаться из окружения, если major/minor не совпадают;
🔘 окружения без нового ключа разрешено обрабатывать по старым полям или проверять через сам интерпретатор.
Автор PEP — Константин Шютце, референсные реализации уже перечислены для uv, virtualenv и CPython. Статус пока Draft.
Ловили ситуацию, когда venv молча работал с другой версией Python, чем ожидалось?
@zen_of_python
Post #4866
2.6K
- ❤ 3