Способы корректного удаления версий Python в разных окружениях

Раздел: Настройка -> Версионирование Python

Основные подходы к удалению версий Python

Как удалить установленную версию Python, управляемую через pyenv?

Pyenv предоставляет простой и безопасный способ управления несколькими версиями Python. Для удаления конкретной версии используется команда pyenv uninstall. Это действие полностью очищает каталог с интерпретатором и все связанные с ним файлы.

pyenv versions               # список всех доступных версий
pyenv uninstall 3.11.4        # удаление версии 3.11.4

как удалить версию python (удаление версии python)

Пошаговое выполнение:

  1. Проверить, какие версии установлены: pyenv versions.
  2. Выбрать нужную версию и выполнить pyenv uninstall <версия>.
  3. После удаления можно снова вызвать pyenv versions чтобы убедиться, что версия исчезла.

Типичная ошибка: версия используется как глобальная или локальная.

Если удаляемая версия установлена как глобальная (pyenv global 3.11.4), pyenv выдаст предупреждение и не удалит её. Решение: сначала переключиться на другую версию:

pyenv global system           # или другую установленную версию
pyenv uninstall 3.11.4

Как удалить Python, установленный через пакетный менеджер apt (Ubuntu/Debian)?

Если Python был установлен из официального репозитория, его удаление выполняется стандартным менеджером пакетов. Например, для Python 3.10:

sudo apt remove python3.10
sudo apt purge python3.10     # полное удаление вместе с конфигурационными файлами
sudo apt autoremove           # удаление зависимостей, оставшихся без использования

Команда remove оставляет файлы конфигурации, а purge удаляет их полностью. После этого рекомендуется выполнить autoremove для очистки ненужных пакетов, установленных вместе с Python.

Проблема: зависимые пакеты, которые требуют именно эту версию.

Например, если удаляется Python 3.10, на который ссылаются системные утилиты (например, update-manager), процесс может завершиться ошибкой. Решение: проверить зависимости через apt depends python3.10 и, при необходимости, переустановить пакеты, использующие другую версию.

Как удалить Python, установленный из официального инсталлятора на Windows?

В Windows удаление производится через стандартный апплет «Установка и удаление программ». Однако если были добавлены пути в переменную окружения PATH, их нужно очистить вручную.

# Удаление через командную строку с помощью msiexec (для версий, установленных через MSI)
msiexec /x {ProductCode}      # ProductCode можно узнать из реестра

Альтернативный способ - удалить папку с Python (обычно C:\Python312) и убрать ссылки из PATH через «Системные переменные среды».

Ошибка: остались ярлыки и ассоциации файлов .py.

После деинсталляции могут остаться записи в реестре, которые мешают установке новой версии. Для полной очистки можно использовать утилиту Python для Windows из Microsoft Store или вручную удалить ключи HKEY_LOCAL_MACHINE\SOFTWARE\Python.

Как удалить версию Python в окружении conda?

Conda позволяет управлять не только пакетами, но и версиями Python в изолированных средах. Удалить среду с определённой версией Python:

conda env list                 # список сред
conda remove --name myenv --all   # полное удаление среды myenv

Если нужно удалить только версию Python внутри текущей среды (без удаления среды целиком), можно выполнить:

conda uninstall python=3.9

Но это может привести к поломке среды, если другие пакеты требуют именно эту версию. Безопаснее удалить всю среду и создать новую с нужной версией.

Конфликт версий из-за частичного удаления.

После выполнения conda uninstall python среда может стать неработоспособной. Рекомендуется сохранить список установленных пакетов перед удалением: conda list --export > packages.txt.

Как удалить пользовательскую сборку Python из исходников?

Если Python был скомпилирован и установлен в кастомную директорию (например, /usr/local/python3.11), удаление сводится к удалению этой папки и очистке симлинков.

sudo rm -rf /usr/local/python3.11   # удаление каталога
sudo rm /usr/local/bin/python3.11   # удаление симлинка, если он был создан

Дополнительно нужно проверить файлы в /usr/local/lib и /usr/local/include, которые были установлены вместе с Python. Иногда используется make uninstall внутри исходного каталога сборки, но это работает только если сохранён Makefile.

Ошибка: «Permission denied» при удалении.

Если некоторые файлы защищены, используйте sudo. Также проверьте, что процессы Python не запущены - завершите их через pkill python3.11.

Расширенные примеры демонстрируют более сложные сценарии удаления версий Python.

Пример
# 1. Удаление всех версий Python, кроме системной, при помощи pyenv
pyenv versions | grep -v system | cut -d' ' -f2 | xargs -I{} pyenv uninstall {}
Команда оставит только system. Будьте осторожны: удаление может затронуть версии, используемые в проектах.
Пример
# 2. Очистка кэша pip после удаления версии Python
pip cache purge   # удаляет все скачанные пакеты, связанные с удалёнными версиями
После удаления версии Python пакеты из её site-packages не удаляются автоматически. Очистка кэша помогает освободить место.
Пример
# 3. Удаление Python вместе со всеми зависимостями в Ubuntu с помощью apt-mark
sudo apt-mark auto python3.10 python3.10-minimal libpython3.10* 
sudo apt autoremove --purge
Команда помечает пакеты как автоматически установленные, после чего autoremove удалит их, если они больше не требуются.
Пример
# 4. Удаление нескольких версий Python одной строкой в Windows через PowerShell
Get-Package -Name '*Python*' | ForEach-Object { $_.Uninstall() }
Скрипт найдёт все установленные через MSI версии Python и инициирует их удаление. Требуются права администратора.
Пример
# 5. Безопасное удаление среды conda с сохранением окружения в YAML
conda activate myenv
conda env export > myenv_backup.yml
conda deactivate
conda env remove --name myenv
Позволяет позже восстановить среду из файла myenv_backup.yml.
Пример
# 6. Удаление Python, собранного из исходников, с проверкой Makefile
cd /path/to/python-source
sudo make uninstall          # работает, если Makefile ещё существует
sudo rm -rf /opt/python3.12  # ручное удаление, если make uninstall недоступен
Если исходная папка сборки удалена, make uninstall не сработает. В таком случае удаление вручную является единственным выходом.

Удаление версии Python - comments

En
как удалить версию python (python)