Как удалить библиотеку в python через pip
Перейти к содержимому

Как удалить библиотеку в python через pip

  • автор:

Как удалить библиотеку с Python?

При ходе создание скрипта были скачаны в итоге не нужные библиотеки, все библиотеки скачаны с помощью pip. Как удалить библиотеки, и можно ли как то одной командой вернуть библиотеки до дефолдных настроек?
Пробовал так, pip freeze — получил все установленные библиотеки и пытался их удалить с помощью pip unistall, но в итоге ничего не получилось, так как команды unistall нету, также пробовал remove и delete, но этих команд также нету.

  • Вопрос задан более года назад
  • 1638 просмотров

Управление Python пакетами с помощью pip

Данная статья является пошаговым введением в базовые навыки управления пакетами Python с помощью команды pip. В ней будут освещены следующие моменты:

  • Поиск пакетов
  • На какую информацию следует обратить внимание в пакете
  • Установка пакетов
  • Визуализация установленных пакетов
  • Установка пакетов из файла requirements.txt
  • Удаление пакетов с помощью pip

Поиск пакетов Python

Рассмотрим случай использования пакета emoji в качестве примера. Для поиска Python пакетов, связанных с emoji, перейдём на веб сайт PyPi и через окно поиска в правом верхнем углу страницы поищем emoji.

Обратите внимание на колонку «Weight*» в середине таблицы. Это ключевая информация. Значение веса – это специфический рейтинг, который сайт рассчитывает для каждого пакета, чтобы ранжировать результаты поиска.

Согласно самому сайту, то рейтинг вычисляется на основе полей: имя, сводка, ключевые слова, описание, автор, мейнтейнер. Означает ли что найден лучший пакет? Не обязательно. Несмотря на необычность, сторонние пакеты своим присутствием могут затенять emoji.

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

В какой среде будет работать emoji? Приложение на основе терминала или, возможно, веб-приложение Django? Если нужно отобразить emoji в веб-приложении django, то лучше воспользоваться пакетом django-emoji. Для нашего случая предпочтительным вариантом является emoji для Python приложения командной строки.

На что нужно обратить внимание?

Далее приведены характеристики хорошего пакета Python:

  • Достойная документация: прочитав её, сразу становится понятно, соответствует ли пакет потребности или нет;
  • Зрелость и стабильность: если он существует уже продолжительное время, а также последними версиями;
  • Количество контрибьюторов: востребованные пакеты (особенно сложные), как правило, контрибьютятся большим количеством разработчиков;
  • Техническое обслуживание: он регулярно проходит техническое обслуживание.

Не стоит слишком полагаться на статус разработки, указанный для каждого пакета, то есть пакет может иметь баллы стабильности, например, 4 — Beta или 5 — Production / Stable. Эта классификация заполняется самим разработчиком и не обязательно должна быть правдивой.

На нашем случае документация выглядит достаточно прилично. В верхней части страницы показано графическое представление работы пакета emoji в интерпретаторе Python.

>> import emoji >> print(emoji.emojize('Python is :thumbs_up_sign:')) Python is �� >> print(emoji.emojize('Python is :thumbsup:', use_aliases=True)) Python is �� 

Документация для пакета emoji также рассказывает об его установке, как внести свой вклад в разработку, а также ссылку на страницу с исходниками, что является отличным источником полезной информации о нём.

Установка пакетов Python с помощью pip

Предполагается, что Python уже установлен в вашей системе. Далее нужно проверить, установлен ли pip, запустив pip -version в терминале.

C:\Users\prog>pip --version pip 9.0.1 from c:\python\lib\site-packages (python 3.6) 

Начиная с Python 3.4, pip входит в комплект поставки.

Также рекомендуется использовать виртуальную среду для управление рабочим процессом разработки и упрощения работы над несколькими проектами одновременно без возникновения конфликтов в их зависимостях.

Отличное вариант для начала изучения консольной программы — это запустить её без каких-либо опций в терминале.

Рассмотрим команду freeze, которая является ключевой в разрешении зависимостей. Запуск pip freeze отображает список всех установленных пакетов Python. Если выполнить с инструкцию с активной виртуальной средой, то будет распечатан пустой список

Для установки пакета, выполним pip install emoji в терминале. В результате будет получен следующий вывод:

C:\Users\prog>pip install emoji==0.4.5 Collecting emoji==0.4.5 Downloading emoji-0.4.5.tar.gz Installing collected packages: emoji Running setup.py install for emoji . done Successfully installed emoji-0.4.5 

При установке пакетов с помощью pip можем ограничить выборку установив предпочтительную версию предпочтения, используя следующие операторы:

Конкретная версия пакета (==):

pip install emoji==0.4.1 

Версия, отличная от указанной (! =):

pip install emoji!=0.4.1 

Версия, равная или превышающая конкретную версию (> =):

pip install emoji>=0.4.0 

Версия пакета в указанном диапазоне (> = X.Y.T,

pip install emoji>=0.4.0,  

Как правило, наиболее полезным спецификатором является == для установки конкретной версии пакета. Если не будет ограничения, то будет установлена последняя версия пакета.

Запустим pip freeze после установки пакета emoji.

pip freeze emoji==0.4.5 

Теперь pip freeze отображает пакет emoji как установленная зависимость с определенным номером версии.

Получение списка установленных Python пакетов

Для выгрузки установленных пакетов в файл requirements.txt выполним программу pip freeze с перенаправлением выходного потока в файл.

pip freeze > requirements.txt 

Визуализация установленных пакетов

Добавим пакет pipdeptree в нашу виртуальную среду, который отображает дерево зависимостей пакетов. Продолжим установку последней версии, выполнив следующую команду:

pip install pipdeptree 

После установки пакета запустим процесс freeze, чтобы удостовериться в его установки:

pip freeze emoji==0.4.5 Pillow==5.0.0 pipdeptree==0.10.1 

Теперь запустим pipdeptree в терминале, чтобы узнать, что он делает.

C:\Users\prog>pipdeptree emoji==0.4.5 Pillow==5.0.0 pipdeptree==0.10.1 - pip [required: >=6.0.0, installed: 9.0.1] setuptools==28.8.0 

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

Также замечаем другие пакеты, которые отсутствуют в списке freeze – pip и setuptools. Причина в том, что по умолчанию pip freeze не перечисляет пакеты, от которых зависит сам pip.

Теперь запустим pip freeze -all для отображения всех установленных пакетов:

C:\Users\prog>pip freeze --all emoji==0.4.5 Pillow==5.0.0 pip==9.0.1 pipdeptree==0.10.1 setuptools==28.8.0 

Ещё одно преимущество использования pipdeptree заключается в том, что она предупреждает нас о конфликтующих зависимостях, в том числе о циклических (когда пакеты зависят друг от друга), но это очень редко встречающийся случай.

Установка пакетов Python из файла requirements.txt

Если есть файл requirements.txt, то можно установить все перечисленные там пакеты, выполнив следующую команду:

pip install -r /dir/to/the/file/requirements.txt 

Это очень удобно, когда нужно реплицировать виртуальные среды на другие компьютеры.

Удаление пакетов Python с помощью Pip

Удаление отдельных пакетов Вы можете сделать это, запустив, например, pip uninstall alembic.

Также допустимо удаление нескольких пакетов сразу, используя следующий синтаксис командной строки:

pip uninstall package1 package2 . 

Другим вариантом является чтение списка пакетов для удаления из файла requirements.txt. Как и у его установочного варианта, если есть файл requirements.txt, то можно удалить все перечисленные там пакеты аналогично:

pip uninstall -r /dir/to/the/file/requirements.txt 

Если попытаться выполнить эту инструкцию программа покажет множество предупреждений и спросит продолжать несколько раз (по одному разу для каждого пакета), на который нужно ответить y. Чтобы избежать этого, используя флаг -y:

pip uninstall -y -r requirements.txt 

Как удалить библиотеку из системы?(см скрин)

даже после удаления из виртуального окружения библиотекой можно пользоваться - получается, мы удалили не из системы, а из виртуального окружения

user49913 Просветленный (37442) нет, вы всё правильно удалили из системы, проблема в том, что после этого вы зачем-то руками указываете путь к интерпретатору из виртуального окружения, в котором пакет остался так делать не нужно

Юра ГаглоевПрофи (856) 1 год назад

Я не указывал путь руками, я запускал программу в Visual Studio(нажимал на кнопку пуск, как на скрине)

user49913 Просветленный (37442) я не работал с visual studio и не знаю, как она работает с питоновскими venv-ами, просто говорю, что вижу в скрине терминала: вызывается интерпретатор из venv-а, библиотека в venv-е присутствует, следовательно, ошибки нету может, нужно где-то в visual studio как-то "выйти" из venv-а или вроде того.

PIP - система управления пакетами

pip - система управления пакетами, которая используется для установки и управления программными пакетами, написанными на Python. Много пакетов можно найти в Python Package Index.

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

  • при помощи модуля ensurepip , который обеспечивает поддержку начальной загрузки pip в виртуальную среду или существующую установку Python
  • при помощи скрипта установки get-pip.py , который можно скачать при помощи утилиты bash wget с сайта https://bootstrap.pypa.io/:
$ python3 -m ensurepip $ wget https://bootstrap.pypa.io/get-pip.py $ python3 get-pip.py --user

Не забудьте обновить pip после установки:

#В Linux или macOS $ pip3 install -U pip # В Windows > python3 -m pip install -U pip

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

$ python3 -m pip arguments>

Установка пакетов

pip поддерживает установку пакетов из Python Package Index, локальных репозиториев и напрямую из дистрибутивных файлов.

# новейшая версия $ pip3 install SomePackage # определенная версия $ pip3 install SomePackage==1.0.4 # минимальная версия $ pip3 install SomePackage>=1.0.4

pip предоставляет возможность управлять всеми зависимостями вашего проекта с помощью файла requirements.txt - файл зависимостей проекта, содержащий список пакетов и модулей, которые нужно установить для нормальной работы.

pip3 install -r requirements.txt

Это позволяет эффективно воспроизводить весь необходимый список пакетов в отдельном окружении (например, на другом компьютере) или в виртуальном окружении. requirements.txt содержит список аргументов установки pip , помещенных в файл с целью обеспечения повторяющихся установок. Закрепление версий зависимостей пакетов в файле requirements.txt защищает вас от ошибок или несовместимостей в недавно выпущенных версиях пакетов.

Составим список закрепленных версий всех пакетов, что были установлены в проекте с помощью команды pip freeze .

# получаем файл зависимостей проекта pip3 freeze > requirements.txt # переносим проект на другой компьютер # или в другое виртуальное окружение pip3 install -r requirements.txt

Важно понимать, что pip определяет зависимости пакетов, используя метаданные install_requires , а не путем обнаружения requirements.txt файлов, встроенных в проекты.

Удаление пакетов

pip может удалить большинство пакетов следующим образом:

$ pip3 uninstall SomePackage

pip также выполняет автоматическое удаление старой версии пакета перед обновлением до новой версии.

Просмотр списка установленных

$ pip3 list docutils (0.9.1) Jinja2 (2.6) Pygments (1.5) Sphinx (1.1.2) 

Чтобы вывести список устаревших пакетов и показать последнюю доступную версию:

$ pip3 list --outdated docutils (Current: 0.9.1 Latest: 0.10) Sphinx (Current: 1.1.2 Latest: 1.1.3) 

Чтобы показать подробную информацию об установленном пакете:

$ pip3 show sphinx --- Name: Sphinx Version: 1.1.3 Location: /path/to/myVenv/lib/pythonx.x/site-packages Requires: Pygments, Jinja2, docutils

Поиск пакетов

pip может искать пакеты в PyPI с помощью команды: pip search

$ pip3 search "query" 
  • query - это запрос, который будет использоваться для поиска по именам и резюме всех пакетов.

Что ещё умеет делать pip :

  • pip install package_name - установка пакета(ов).
  • pip download package_name - загружает пакет(ы), но не устанавливает.
  • pip uninstall package_name - удаление пакета(ов).
  • pip list - выводит список установленных пакетов.
  • pip freeze - выводит список установленных пакетов с их версиями для файла requirements.txt.
  • pip search - поиск пакетов в PyPI по их имени.
  • pip install -U - обновление пакета(ов).
  • pip show some-package-name - показывает информацию об установленном пакете.
  • pip check package_name - проверяет что установленные пакеты имеют совместимые зависимости.
  • pip install --force-reinstall - переустановить пакет, даже если он последней версии.
  • pip help - помощь по доступным командам.
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Что дает виртуальная среда исполнения?
  • Установка и использование модуля virtualenv для Python
  • Установка и использование менеджера пакетов PIP
  • IDE для написания программ на Python

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *