TipsAndTricks/lts24-lts26-upgrade/venv на python 3.12 сдохли.md

1.4 KiB
Raw Blame History

venv на python 3.12 сдохли

В 26.04 python3 - это 3.14. А venv, созданные на 24.04, внутри выглядят так:

venv/bin/python3 -> /usr/bin/python3

Т.е. теперь они запускают 3.14, а пакеты лежат в lib/python3.12/site-packages. Нихера не импортируется.

Ставим 3.12 с deadsnakes (см. заметку про конфликт файлов) и переводим ссылку:

readlink venv/bin/python3 > venv/bin/.python3.link-before-2604
ln -sfn /usr/bin/python3.12 venv/bin/python3
venv/bin/python -c 'import sys; print(sys.version)'

Всё. Пересоздавать venv и качать заново гигабайты torch не надо.

Найти все такие venv:

find ~ /opt -xdev -name pyvenv.cfg -exec grep -l 'version *= *3\.12' {} +

Вентиляторы карточки (скрипт на pynvml) - там venv вообще не нужен, есть системный пакет:

sudo apt install python3-pynvml

и запускать скрипт системным python3. После апгрейда они стояли на 0% при 48 градусах - не дай грабли вам такое летом.

Чисто на пакетах 26.04 (без pip) torch не получится: python3-torch только CPU, torchvision и pygame-ce в репах нет. Печаль.