Найти устаревшие / обновляемые пакеты pip


103

pip freeze показывает мне установленные пакеты, но как проверить по pypi, какие из них устарели?

Ответы:


159

Начиная с версии 1.3, в pip появилась новая команда:

$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)

Смотрите этот пост для получения дополнительной информации.



6

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

Поскольку не было простого способа обновить пакет за пакетом и обновить файл require.txt , я написал этот pip-upgradeer, который также обновляет версии в вашем requirements.txtфайле для выбранных пакетов (или всех пакетов).

Монтаж

pip install pip-upgrader

использование

Активируйте свой virtualenv (важно, потому что он также установит новые версии обновленных пакетов в текущем virtualenv).

cd в каталог вашего проекта, затем запустите:

pip-upgrade

Расширенное использование

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

pip-upgrade path/to/requirements.txt

Если вы уже знаете, какой пакет вы хотите обновить, просто отправьте их в качестве аргументов:

pip-upgrade -p django -p celery -p dateutil

Если вам нужно перейти на версию до и после выпуска, добавьте --prereleaseаргумент в вашу команду.

Полное раскрытие: я написал этот пакет.


1

Возможно, pip-инструменты, доступные по адресу https://github.com/nvie/pip-tools , могут помочь вам достичь того, чего вы хотите?

Пример из README:

$ pip-review --interactive
requests==0.14.0 available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...
redis==2.6.2 available (you have 2.4.9)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit n
rq==0.3.2 available (you have 0.3.0)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y
...

1
Кажется , этот пакет теперь переехал в github.com/jgonggrijp/pip-review
дроплет

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.