pip freeze показывает мне установленные пакеты, но как проверить по pypi, какие из них устарели?
5 ответов
Начиная с версии 1.3, в pip появилась новая команда:
$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)
Смотрите этот пост для получения дополнительной информации.
Используйте эту пип-вилку:
https://github.com/dgladkov/pip
Который делает именно то, что вы хотите, используя эту команду:
$ pip list --outdated
Дело в том, что я никогда не обновляю все пакеты. Я обновляю только то, что мне нужно, потому что проект может сломаться.
Потому что не было простым способом для обновления пакета с пакетом, и обновлением файла requirements.txt, я написал этот пип-Upgrader который также обновляет версии в файле 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
в свою команду.
Полное раскрытие: я написал этот пакет.
Возможно, 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
...
Подобно pip list --outdated
но обновляет файл requirements.txt
pur -r requirements.txt
PyPi: https://pypi.python.org/pypi/pur
GitHub: https://github.com/alanhamlett/pip-update-requirements