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.
pip freeze mostra-me os pacotes instalados, mas como posso verificar contra o pypi quais estão desatualizados?
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:
Que faz exatamente o que você quer usando este comando:
$ pip list --outdated
A coisa é, nunca atualizo todos os pacotes . Eu atualizo somente o que eu 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 -upgrader que também atualiza as versões no seu arquivo requirements.txt
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 seu projeto e, em seguida, 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 o argumento --prerelease
ao seu comando.
Divulgação completa: eu escrevi este pacote.
Talvez as ferramentas pip, disponíveis no link , possam ajudá-lo a alcançar o que você 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
...
Tags package-management python pip