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

Как обновить библиотеку в python

  • автор:

Как обновить все пакеты Python установленные с pip

Пакет pip — это программа для установки и управления пакетами Python. Сам пакет pip в репозитории вашего дистрибутива существует в двух версиях:

  • для Python 3 (называется python3-pip или python-pip в зависимости от того, какая версия Python является версией по умолчанию для вашего дистрибутива)
  • для Python 2 (называется python2-pip или python-pip в зависимости от того, какая версия Python является версией по умолчанию для вашего дистрибутива)

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

Как обновить пакеты с pip

Но использование pip имеет свои неудобства — программа не отслеживает выход новых версий и не выполняет их автоматическое обновление.

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

sudo pip install [имя_пакета] --upgrade

Или более короткий вариант:

sudo pip install [имя_пакета] -U

Проблема здесь в том, чтобы узнать вышла ли уже новая версия пакета?

По этой причине лично я стараюсь устанавливать пакеты Python из стандартного репозитория, поскольку в этом случае они обновляются автоматически при обновлении других пакетов системы. И только если их там нет, то я использую для установки pip.

Как с pip показать пакеты, для которых вышли новые версии

С помощью pip можно проверить выход новых версий. К счастью, это для этого не нужно вводить имя каждого пакета по отдельности.

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

pip list -o

Вариант для Python3:

pip3 list -o

Вариант для Python2:

pip2 list -o

Программа проверяет версии для всех пакетов Python. Обычно их довольно много, поэтому программа может работать довольно долго — несколько минут.

Как в pip обновить сразу все пакеты

Можно посмотреть список устаревших пакетов и потом по одному обновлять их командой, которая дана ещё чуть выше. Но это можно сделать проще.

Следующая большая команда найдёт список всех устаревших пакетов Python и обновит их:

for i in $(pip list -o | awk 'NR > 2 '); do sudo pip install -U $i; done

В сердце этой команды лежит предыдущая медленная команда pip list -o, поэтому выполнение займёт определённое время.

Если вы учитесь программировать на Python3, то вашему сердцу может быть ближе следующий вариант. Создайте файл с именем xx.py и скопируйте в него:

import subprocess as sbp import pip pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True, stdout=sbp.PIPE).stdout, encoding='utf-8')) for pkg in pkgs: sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)

Сохраните и закройте этот файл. Когда вы захотите обновить ваши пакеты Python, то запустите этот скрипт следующим образом:

sudo python3 xx.py

Есть ещё парочка способов выполнить полное обновление системы, пример команды:

sudo pip install -U $(pip freeze | awk '')

Её принцип заключается в том, что она составляет список всех пакетов Python, а затем каждый из них пытается обновить. Если обновления нет — то ничего страшного, просто происходит переход к следующему пакету из списка. Если обновление есть, то оно устанавливается и вновь происходит переход к следующему пакету из списка, пока программа полностью не завершит свою работу.

Конечный результат такой же — будут обновлены все пакеты Python.

У предыдущей команды есть ещё один вариант:

sudo pip install -U $(pip freeze | cut -d '=' -f 1)

Принцип работы абсолютно такой же.

Заключение

pip обновляет пакеты только одной версии Python — то есть для Python3 или для Python2 — это зависит от того, какая версия Python является версией по умолчанию для вашего дистрибутива.

Если вы также хотите обновить пакеты для другой версии, то в предыдущих командах везде заменяйте pip на pip2 или pip3 — в зависимости от вашего дистрибутива.

Или вот вариант ещё проще, следующие команды одинаково сработают абсолютно в любых дистрибутивах, так как в них версии указаны явно (при условии, что pip2 и pip3 установлены в вашей системе).

Для обновления всех пакетов Python3:

for i in $(pip3 list -o | awk 'NR > 2 '); do sudo pip3 install -U $i; done

Для обновления всех пакетов Python2:

for i in $(pip2 list -o | awk 'NR > 3 '); do sudo pip2 install -U $i; done

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

Связанные статьи:

  • Ошибка «Cannot uninstall . It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.» (РЕШЕНО) (100%)
  • Ошибка «Error: pg_config executable not found.» (РЕШЕНО) (100%)
  • Решение проблемы со сломавшимся после обновления пакетов Pip (80.6%)
  • Как установить pip в Kali Linux (80.6%)
  • Ошибка «ModuleNotFoundError: No module named ‘manimpango’» (РЕШЕНО) (80.6%)
  • Переход на Python 3 в Debian и Kali Linux (RANDOM — 50%)

Как обновить библиотеку в Python

В Python, вы можете обновить библиотеку, используя pip — менеджер пакетов Python.

Обновление одной библиотеки

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

pip install library_name --upgrade

где library_name — имя библиотеки, которую вы хотите обновить.

Обновление всех библиотек

Для обновления всех установленных библиотек, вы можете использовать команду:

pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U

Это обновит все библиотеки, которые были установлены локально в текущем окружении.

Заключение

Обновление библиотек в Python является простым и легким процессом с помощью pip.

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

How do I update a Python package?

I’m running Ubuntu 9:10 and a package called M2Crypto is installed (version is 0.19.1). I need to download, build and install the latest version of the M2Crypto package (0.20.2). The 0.19.1 package has files in a number of locations including (/usr/share/pyshared and /usr/lib/pymodules.python2.6). How can I completely uninstall version 0.19.1 from my system before installing 0.20.2?

12.3k 4 4 gold badges 57 57 silver badges 89 89 bronze badges
asked Mar 3, 2011 at 16:40
3,449 2 2 gold badges 15 15 silver badges 5 5 bronze badges

13 Answers 13

The best way I’ve found is to run this command from terminal

sudo pip install [package_name] --upgrade 

sudo will ask to enter your root password to confirm the action.

Note: Some users may have pip3 installed instead. In that case, use

sudo pip3 install [package_name] --upgrade 

834 1 1 gold badge 9 9 silver badges 19 19 bronze badges
answered Nov 28, 2014 at 7:34
princelySid princelySid
6,777 2 2 gold badges 16 16 silver badges 17 17 bronze badges

And if you are using a proxy without authentication: sudo pip install [package] —upgrade —proxy=address:port

Jan 18, 2017 at 12:20

I came here for this answer. I tried pip update and pip upgrade and was desperate until I saw —upgrade here. Why don’t they add a pip upgrade command?

May 23, 2017 at 13:18
This is indeed a well-hidden feature.
Jul 13, 2017 at 10:40
For Windows users: sudo is not required.
Apr 20, 2018 at 20:37
This should be answer #1
Jul 16, 2018 at 14:19

You might want to look into a Python package manager like pip. If you don’t want to use a Python package manager, you should be able to download M2Crypto and build/compile/install over the old installation.

4,313 7 7 gold badges 17 17 silver badges 56 56 bronze badges
answered Mar 3, 2011 at 16:43
Jeremy Whitlock Jeremy Whitlock
3,818 26 26 silver badges 16 16 bronze badges
Thanks. What you said worked. I built and installed 0.20.2 without needing to uninstall 0.19.1.
Mar 3, 2011 at 16:50

To automatically upgrade all the outdated packages (that were installed using pip), just run the script bellow,

pip install $(pip list --outdated | awk '< print $1 >') --upgrade 

Here, pip list —outdated will list all the out dated packages and then we pipe it to awk, so it will print only the names. Then, the $(. ) will make it a variable and then, everything is done auto matically. Make sure you have the permissions. (Just put sudo before pip if you’re confused) I would write a script named, pip-upgrade The code is bellow,

#!/bin/bash sudo pip install $(pip list --outdated | awk '< print $1 >') --upgrade 

Then use the following lines of script to prepare it:

sudo chmod +x pip-upgrade sudo cp pip-upgrade /usr/bin/ 

Then, just hit pip-upgrade and voila!

Как обновить пакет с использованием pip?

Upgrading a package in Python using pip.

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

Однако, при попытке использовать команды pip update или pip upgrade , возникает ошибка, так как таких команд не существует. Но не стоит пугаться, решение проблемы есть и оно довольно простое.

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

Для обновления пакета в Python, можно использовать следующую команду:

pip install --upgrade имя_пакета

Вместо имя_пакета необходимо подставить название пакета, который требуется обновить. Например, чтобы обновить пакет numpy, нужно ввести следующую команду:

pip install --upgrade numpy

Если требуется обновить все установленные пакеты, можно использовать pip-review, утилиту для обновления пакетов. Сначала ее нужно установить:

pip install pip-review

Затем можно обновить все пакеты одной командой:

pip-review --auto

Таким образом, обновление пакетов в Python — задача, которую можно решить несколькими простыми командами.

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

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