Encontre pacotes pip desatualizados / atualizáveis


103

O pip freeze mostra os pacotes instalados, mas como eu verifico no pypi quais estão desatualizados?

Respostas:


159

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.



6

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.txtarquivo 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 --prereleaseargumento ao seu comando.

Divulgação completa: escrevi este pacote.


1

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
...

1
Parece que este pacote agora mudou para github.com/jgonggrijp/pip-review
Gota

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.