Ответы:
Начиная с версии 1.3, в pip появилась новая команда:
$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)
Смотрите этот пост для получения дополнительной информации.
Используйте эту пип-вилку:
https://github.com/dgladkov/pip
Который делает именно то, что вы хотите, используя эту команду:
$ pip list --outdated
Дело в том, что я никогда не обновляю все пакеты . Я обновляю только то, что мне нужно, потому что проект может сломаться .
Поскольку не было простого способа обновить пакет за пакетом и обновить файл 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
аргумент в вашу команду.
Полное раскрытие: я написал этот пакет.
Возможно, 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