Как обновить пакет Python?

Я запускаю 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?

Ответ 1

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

Ответ 2

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

sudo pip install [package_name] --upgrade

sudo попросит ввести пароль root, чтобы подтвердить действие.

Ответ 3

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

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

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

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

Затем используйте следующие строки script, чтобы подготовить его:

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

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

Ответ 4

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

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

py -m pip install --upgrade pip

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

Ответ 5

  • Способ 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

Ответ 6

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

pip install --upgrade <package>==<version>

Ответ 7

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

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

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

С пипсом это довольно легко:

pip install m2crypto

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

Ответ 8

Получить все устаревшие пакеты и создать пакетный файл со следующими команды pip install xxx --upgrade для каждого устаревшего пакета

Ответ 9

pip install -U $(pip list --outdated | awk 'NR>2 {print $1}')

Ответ 10

Используйте pipupgrade !

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

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

enter image description here

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