Как выполнить удаление пакета Python из окружения

Раздел: Администрирование -> Пакеты

Основной способ: pip uninstall

Как удалить установленный пакет Python через pip?

Команда pip uninstall удаляет указанный пакет из активного окружения Python. Для выполнения требуется имя пакета в том виде, в котором он был установлен (например, requests).

pip uninstall requests

Python build package (сборка пакета python)

По умолчанию pip запрашивает подтверждение. Чтобы пропустить запрос, используется флаг -y или --yes.

pip uninstall -y requests

Python download package (скачивание пакета python)

Если необходимо удалить несколько пакетов, их имена перечисляются через пробел.

pip uninstall requests flask django

Python pip install local package (установка локального пакета через pip)

Удаление пакета из файла зависимостей (requirements.txt) выполняется с флагом -r, но команда удалит все перечисленные в файле пакеты.

pip uninstall -r requirements.txt -y

Python install package version (установка пакета определенной версии в python)

Возможные проблемы и решения

  • Пакет не найден: проверьте имя пакета, учет регистра и наличие установки в текущем окружении. Команда pip list покажет установленные пакеты.
  • Ошибка прав доступа: если пакет установлен глобально, может потребоваться sudo (Linux/macOS) или запуск от имени администратора (Windows). Альтернатива – использовать виртуальное окружение.
  • Зависимости не удаляются: pip удаляет только сам пакет, а его зависимости остаются. Для полного удаления с зависимостями рекомендуется сторонний инструмент pip-autoremove.

Альтернативные варианты удаления пакетов

Как удалить пакет в изолированном окружении Pipenv?

В Pipenv используется команда pipenv uninstall. Она удаляет пакет из Pipfile и Pipfile.lock, а также из виртуального окружения.

pipenv uninstall requests

модули python linux (модули python в linux)

Флаг --all удаляет все пакеты окружения.

pipenv uninstall --all

Update lib python (обновление библиотек python)

  • Пакет не удаляется из Pipfile: убедитесь, что вы находитесь в правильной директории проекта с Pipfile.
  • Не удаляется из блокировки: выполните pipenv lock после удаления.

Как убрать пакет из проекта, управляемого Poetry?

Poetry предоставляет команду poetry remove. Она удаляет пакет из pyproject.toml и обновляет зависимости.

poetry remove requests

Python packages list (список установленных пакетов)

Если требуется удалить группу зависимостей (dev), используется флаг --group.

poetry remove --group dev pytest

Remove python package (удаление пакета python)

  • Конфликт зависимостей: Poetry может отказаться удалять пакет, если на него есть другие зависимости. Проверьте дерево зависимостей через poetry show --tree.

Как деинсталлировать пакет из окружения Conda?

Conda использует команду conda remove. Она удаляет пакет вместе с зависимостями, если они не требуются другим пакетам.

conda remove requests

Python pip install windows (установка пакетов pip в windows)

Флаг --all удаляет все пакеты из текущего окружения, но не само окружение.

conda remove --all

Python pip windows (установка pip на windows)

  • Ошибка конфликта версий: conda может отказаться удалять пакет из-за жестких зависимостей. Попробуйте conda update --all перед удалением.
  • Пакет отсутствует в каналах: если пакет установлен из нестандартного канала, укажите его явно: conda remove -c channel_name package.

Как вручную удалить пакет, если стандартные методы не работают?

Ручное удаление требуется в крайних случаях, когда пакет поврежден или менеджер пакетов отказывается работать. Найдите папку site-packages в активном окружении (можно узнать через python -m site --user-site или python -c "import site; print(site.getsitepackages())") и удалите каталог пакета вручную.

# Linux/macOS
rm -rf /path/to/site-packages/requests

Windows package python (установка пакетов python на windows)

# Windows (PowerShell)
Remove-Item -Recurse -Force C:\Python\Lib\site-packages\requests

установка pandas python (установка библиотеки pandas в python)

  • Нарушение целостности окружения: ручное удаление может оставить метаданные, что приведет к ошибкам при импорте. После удаления рекомендуется запустить pip check для проверки целостности.
  • Пакет с расширениями C: ручное удаление .pyd (Windows) или .so (Linux) файлов может не очистить полностью зависимости. Лучше использовать штатные средства.

Как массово удалить все пакеты из текущего окружения?

Для сброса окружения можно удалить все сторонние пакеты через комбинацию pip freeze и xargs.

pip freeze | xargs pip uninstall -y

Примечание: системные пакеты (например, setuptools, wheel) не удалит, если они защищены. Для полной очистки можно удалить само виртуальное окружение.

  • Пакеты, установленные в режиме --editable: такие пакеты не отображаются в pip freeze, их нужно удалять отдельно командой pip uninstall <package-name>.
- Pip idle python (установка пакетов pip в idle)
- Uv python windows (установка и использование uv в python на windows)
- Python setup py install (установка пакета python с setup.py)

Расширенные примеры удаления пакетов Python

1. Удаление пакета вместе с зависимостями через pip-autoremove

Инструмент pip-autoremove анализирует, какие пакеты больше не нужны, и удаляет их вместе с целевым пакетом.

Пример
# Установка pip-autoremove
pip install pip-autoremove

# Удаление пакета requests и его неиспользуемых зависимостей
pip-autoremove requests -y
# Результат (пример вывода)
Collected dependencies to remove: chardet, idna, urllib3
Proceeding with uninstall...
Successfully removed requests, chardet, idna, urllib3

2. Удаление пакета из requirements.txt с исключением одного пакета

Если нужно удалить все пакеты из файла, кроме, например, flask, используется grep и xargs.

Пример
# Создадим файл requirements.txt
cat > requirements.txt <<EOF
requests==2.31.0
flask==2.3.3
django==4.2.5
EOF

# Удалим все, кроме flask (система Linux/macOS)
grep -v 'flask' requirements.txt | xargs pip uninstall -y
Uninstalling requests-2.31.0:
  Successfully uninstalled requests-2.31.0
Uninstalling django-4.2.5:
  Successfully uninstalled django-4.2.5

3. Удаление пакета с помощью pipx (для изолированных приложений)

pipx используется для установки Python-приложений в изолированные окружения. Удаление выполняется командой pipx uninstall.

Пример
# Установка приложения через pipx
pipx install black

# Удаление
pipx uninstall black
Uninstalled black! Check the log at /home/user/.local/pipx/logs/cmd_2025-04-15.log

4. Удаление пакета из зависимостей проекта в setup.py

Если пакет указан в setup.py как зависимость, его можно удалить из файла, но для обновления установленных пакетов нужно переустановить проект.

Пример
# Пример содержимого setup.py
from setuptools import setup
setup(
    name='myproject',
    install_requires=[
        'requests',
        'flask',
        # 'django'  # удалим, закомментировав
    ]
)

# После редактирования выполняем повторную установку без удаленной зависимости
pip install -e .

# Теперь django больше не будет установлен, но уже имеющаяся копия останется.
# Для полного удаления: pip uninstall django

5. Удаление всех пакетов пользовательской установки (--user) без прав суперпользователя

Если пакеты установлены с флагом --user, они находятся в каталоге пользователя. Их можно удалить массово:

Пример
# Получить список пакетов, установленных юзером
pip list --user --format=freeze | xargs pip uninstall -y
Uninstalling requests-2.31.0:
  Successfully uninstalled requests-2.31.0
... (список пакетов)

6. Удаление пакета с обновлением блокировочного файла в Poetry

Poetry при удалении автоматически обновляет poetry.lock. Если нужно принудительно пересоздать lock-файл после ручного редактирования pyproject.toml:

Пример
# Удалить пакет из pyproject.toml вручную, затем
poetry lock --no-update

# или полная переустановка
poetry install

7. Удаление пакета в Conda с указанием канала и версии

Иногда необходимо удалить конкретную версию из конкретного канала:

Пример
# Удаление пакета numpy из канала conda-forge
conda remove -c conda-forge numpy=1.23.0
The following packages will be REMOVED:
  numpy: 1.23.0-py39h...
Proceed ([y]/n)? y

8. Удаление пакета в виртуальном окружении venv и полная очистка окружения

Вместо удаления отдельных пакетов проще удалить всё виртуальное окружение.

Пример
# Создать окружение
python -m venv myenv
source myenv/bin/activate
pip install requests flask

# Удалить окружение (выйти сначала)
deactivate
rm -rf myenv

# Создать заново
python -m venv myenv
source myenv/bin/activate

Этот метод гарантирует, что никаких остатков не будет.

Удаление пакета Python - comments

En
Remove python package (python)