Câu trả lời:
Kể từ phiên bản 1.3, pip có lệnh mới:
$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)
Xem bài đăng này để biết thêm thông tin.
Sử dụng ngã ba pip này:
https://github.com/dgladkov/pip
Mà chính xác những gì bạn muốn bằng cách sử dụng lệnh này:
$ pip list --outdated
Điều đó là, tôi không bao giờ nâng cấp tất cả các gói . Tôi chỉ nâng cấp những gì tôi cần, vì dự án có thể bị hỏng .
Vì không có cách dễ dàng để nâng cấp gói theo gói và cập nhật tệp tests.txt, tôi đã viết trình nâng cấp này cũng cập nhật các phiên bản trong requirements.txt
tệp của bạn cho các gói được chọn (hoặc tất cả các gói).
Cài đặt
pip install pip-upgrader
Sử dụng
Kích hoạt virtualenv của bạn (quan trọng, bởi vì nó cũng sẽ cài đặt các phiên bản mới của các gói được nâng cấp trong virtualenv hiện tại).
cd
vào thư mục dự án của bạn, sau đó chạy:
pip-upgrade
Sử dụng nâng cao
Nếu các yêu cầu được đặt ở vị trí không chuẩn, hãy gửi chúng dưới dạng đối số:
pip-upgrade path/to/requirements.txt
Nếu bạn đã biết gói nào bạn muốn nâng cấp, chỉ cần gửi chúng dưới dạng đối số:
pip-upgrade -p django -p celery -p dateutil
Nếu bạn cần nâng cấp lên phiên bản tiền phát hành / sau phát hành, hãy thêm --prerelease
đối số vào lệnh của bạn.
Tiết lộ đầy đủ: Tôi đã viết gói này.
Có lẽ các công cụ pip, có sẵn tại https://github.com/nvie/pip-tools , có thể giúp bạn đạt được những gì bạn muốn?
Một ví dụ từ 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
...
Tương tự pip list --outdated
nhưng cập nhật một requirements.txt
tập tin:
pur -r requirements.txt
PyPi: https://pypi.python.org/pypi/pur
GitHub: https://github.com/alanhamlett/pip-update-requirements