Как мне обновить пакет Python? - PullRequest
195 голосов
/ 03 марта 2011

Я использую Ubuntu 9:10 и установлен пакет под названием M2Crypto (версия 0.19.1).Мне нужно скачать, собрать и установить последнюю версию пакета M2Crypto (0.20.2).

Пакет 0.19.1 содержит файлы в нескольких местах, включая (/ usr / share / pyshared и /usr/lib/pymodules.python2.6).

Как полностью удалитьверсия 0.19.1 из моей системы перед установкой 0.20.2?

Ответы [ 11 ]

391 голосов
/ 28 ноября 2014

Лучший способ, который я нашел, - это запустить эту команду с терминала

sudo pip install [package_name] --upgrade

sudo попросит ввести пароль root для подтверждения действия.

43 голосов
/ 03 марта 2011

Возможно, вы захотите заглянуть в менеджер пакетов Python, например pip .Если вы не хотите использовать менеджер пакетов Python, вы можете загрузить M2Crypto и выполнить сборку / компиляцию / установку поверх старой установки.

40 голосов
/ 28 августа 2017

Чтобы автоматически обновить все устаревшие пакеты (которые были установлены с помощью pip), просто запустите приведенный ниже скрипт,

pip install $(pip list --outdated | awk '{ print $1 }') --upgrade

Здесь pip list --outdated выведет список всех устаревших пакетов, а затем мы передадим его по конвейеру.в awk, поэтому он будет печатать только имена.Затем $(...) сделает его переменной, а затем все будет выполнено автоматически.Убедитесь, что у вас есть разрешения.(Просто поставьте sudo перед pip, если вы запутались) Я написал бы скрипт с именем pip-upgrade Код ниже

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

Затем используйте следующие строки скрипта для его подготовки:

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

Затем просто нажмите pip-upgrade и вуаля!

31 голосов
/ 07 июня 2017
  1. В командной строке Windows запустите: pip list --outdated Вы получите список устаревших пакетов.
  2. Пробег: pip install [package] --upgrade Он обновит [package] и удалит предыдущую версию.

Чтобы обновить пипс:

py -m pip install --upgrade pip

Опять же, это удалит предыдущую версию pip и установит последнюю версию pip.

25 голосов
/ 10 февраля 2018
  • Метод 1: Обновление вручную по одному

pip install package_name -U
  • Метод 2: Обновление все сразу (высокая вероятность отката, если какой-либо пакет не удалось обновить

pip install $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1) --upgrade
  • Способ 3. Обновление по одному, используя цикл

for i in  $(pip list --outdated --format=columns |tail -n +3|cut -d" " -f1); do pip install $i --upgrade; done
10 голосов
/ 05 декабря 2017

Я думаю, что лучший однострочный это:

pip install --upgrade <package>==<version>
5 голосов
/ 05 февраля 2019

Использование pipupgrade !

$ pip install pipupgrade
$ pipupgrade --latest --interactive

pipupgrade помогает обновить вашу систему, локальную версию или пакеты из файла requirements.txt! Он также выборочно обновляет пакеты, которые не нарушают изменения. Совместим с Python2.7 +, Python3.4 + и pip9 +, pip10 +, pip18 +.

enter image description here

ПРИМЕЧАНИЕ: я автор инструмента.

4 голосов
/ 03 марта 2011

Как изначально был установлен пакет? Если бы это было через apt, вы могли бы просто сделать apt-get remove python-m2crypto

Если вы установили его с помощью easy_install, я почти уверен, что единственный способ - просто удалить файлы из lib, shared и т. Д.

Моя рекомендация в будущем? Используйте что-то вроде pip для установки ваших пакетов. Более того, вы можете посмотреть на что-то под названием virtualenv , чтобы ваши пакеты хранились отдельно для каждой среды, а не только для root.

С pip это довольно просто:

pip install m2crypto

Но вы также можете установить из репозитория git, svn и т. Д. С правильным адресом. Все это объясняется в документации pip

3 голосов
/ 31 марта 2018
pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')
2 голосов
/ 29 марта 2019

В записной книжке Juptyer очень простой способ -

!pip install <package_name> --upgrade

Итак, вам просто нужно заменить фактическое имя пакета.

...