Respostas:
Desde a versão 1.3, o pip apresenta um novo comando:
$ pip list --outdated
requests (Current: 1.1.0 Latest: 1.2.0)
Veja este post para mais informações.
Use este garfo de pip:
https://github.com/dgladkov/pip
O que faz exatamente o que você deseja usando este comando:
$ pip list --outdated
O problema é que eu nunca atualizo todos os pacotes . Eu atualizo apenas o que preciso, porque o projeto pode quebrar .
Como não havia uma maneira fácil de atualizar pacote por pacote e atualizar o arquivo requirements.txt, escrevi este pip-upgradeer que também atualiza as versões em seu requirements.txt
arquivo para os pacotes escolhidos (ou todos os pacotes).
Instalação
pip install pip-upgrader
Uso
Ative seu virtualenv (importante, porque ele também instalará as novas versões dos pacotes atualizados no virtualenv atual).
cd
no diretório do projeto e execute:
pip-upgrade
Uso avançado
Se os requisitos forem colocados em um local não padrão, envie-os como argumentos:
pip-upgrade path/to/requirements.txt
Se você já sabe qual pacote deseja atualizar, basta enviá-los como argumentos:
pip-upgrade -p django -p celery -p dateutil
Se você precisar atualizar para a versão de pré-lançamento / pós-lançamento, adicione --prerelease
argumento ao seu comando.
Divulgação completa: escrevi este pacote.
Talvez o pip-tools, disponível em https://github.com/nvie/pip-tools , possa ajudá-lo a alcançar o que deseja?
Um exemplo do 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
...
Semelhante a pip list --outdated
mas atualiza um requirements.txt
arquivo:
pur -r requirements.txt
PyPi: https://pypi.python.org/pypi/pur
GitHub: https://github.com/alanhamlett/pip-update-requirements