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