web-dev-qa-db-fra.com

Trouver quelle version du paquet est installée avec pip

Avec pip, est-il possible de déterminer quelle version d'un paquet est actuellement installée?

Je connais pip install XYZ --upgrade mais je me demande s’il existe quelque chose comme pip info XYZ. Sinon, quel serait le meilleur moyen de savoir quelle version j'utilise actuellement?.

522
Alexis

A partir de pip 1.3 , il existe une commande pip show.

$ pip show Jinja2
---
Name: Jinja2
Version: 2.7.3
Location: /path/to/virtualenv/lib/python2.7/site-packages
Requires: markupsafe

Dans les versions plus anciennes, pip freeze et grep devraient faire l'affaire.

$ pip freeze | grep Jinja2
Jinja2==2.7.3
741
AdamKG

Je viens d'envoyer une demande de tirage au pip avec l'amélioration Hugo Tavares a déclaré:

(specloud comme exemple)

$ pip show specloud

Package: specloud
Version: 0.4.4
Requires:
nose
figleaf
pinocchio
57
BernardoFire

Le Pip 1.3 a maintenant aussi une commande list :

$ pip list
argparse (1.2.1)
pip (1.5.1)
setuptools (2.1)
wsgiref (0.1.2)
34
RickyA

et avec --outdated comme argument supplémentaire, vous obtiendrez la version actuelle et la version la plus récente des paquets que vous utilisez:

$ pip list --outdated
distribute (Current: 0.6.34 Latest: 0.7.3)
Django-bootstrap3 (Current: 1.1.0 Latest: 4.3.0)
Django (Current: 1.5.4 Latest: 1.6.4)
Jinja2 (Current: 2.6 Latest: 2.8)

Donc, en combinant avec la réponse de AdamKG:

$ pip list --outdated | grep Jinja2
Jinja2 (Current: 2.6 Latest: 2.8)

Vérifiez également pip-tools: https://github.com/nvie/pip-tools

30
KevinS

Vous pouvez également installer yolk, puis exécuter yolk -l, qui donne également une sortie Nice. Voici ce que je reçois pour ma petite virtualenv:

(venv)CWD> /space/vhosts/pyramid.xcode.com/venv/build/unittest 
project@pyramid 43> yolk -l
Chameleon       - 2.8.2        - active 
Jinja2          - 2.6          - active 
Mako            - 0.7.0        - active 
MarkupSafe      - 0.15         - active 
PasteDeploy     - 1.5.0        - active 
Pygments        - 1.5          - active 
Python          - 2.7.3        - active development (/usr/lib/python2.7/lib-dynload)
SQLAlchemy      - 0.7.6        - active 
WebOb           - 1.2b3        - active 
account         - 0.0          - active development (/space/vhosts/pyramid.xcode.com/project/account)
distribute      - 0.6.19       - active 
egenix-mx-base  - 3.2.3        - active 
ipython         - 0.12         - active 
logilab-astng   - 0.23.1       - active 
logilab-common  - 0.57.1       - active 
nose            - 1.1.2        - active 
pbkdf2          - 1.3          - active 
pip             - 1.0.2        - active 
pyScss          - 1.1.3        - active 
pycrypto        - 2.5          - active 
pylint          - 0.25.1       - active 
pyramid-debugtoolbar - 1.0.1        - active 
pyramid-tm      - 0.4          - active 
pyramid         - 1.3          - active 
repoze.lru      - 0.5          - active 
simplejson      - 2.5.0        - active 
transaction     - 1.2.0        - active 
translationstring - 1.1          - active 
venusian        - 1.0a3        - active 
waitress        - 0.8.1        - active 
wsgiref         - 0.1.2        - active development (/usr/lib/python2.7)
yolk            - 0.4.3        - active 
zope.deprecation - 3.5.1        - active 
zope.interface  - 3.8.0        - active 
zope.sqlalchemy - 0.7          - active 
16
Gustavo

Vous pouvez utiliser la commande grep pour le savoir.

pip show <package_name>|grep Version

Exemple:

pip show urllib3|grep Version

montrera que les versions.

Métadonnées-Version: 2.0
Version: 1.12

7
Rajiv

Le moyen le plus simple est le suivant:

import jinja2
print jinja2.__version__
5
user5730083

Sur Windows, vous pouvez émettre des commandes telles que:

pip show setuptools | findstr "Version"

Sortie:

Version: 34.1.1
3
Quinn

En question, il n'est pas mentionné quel utilisateur du système d'exploitation utilise (Windows/Linux/Mac)

Comme il existe quelques réponses qui fonctionneront parfaitement sur Mac et Linux.

La commande ci-dessous peut être utilisée si l'utilisateur essaie de trouver la version d'un paquet python sur Windows.

Dans PowerShell, utilisez la commande ci-dessous:

pip list | findstr <PackageName>

Exemple: - pip list | findstr requests

Sortie: requests 2.18.4

1
Ashwani Singh

Pour Windows, vous pouvez 

  1. ouvrez cmd et tapez python, appuyez sur Entrée. 

  2. tapez l'importation et appuyez sur Entrée.

  3. tapez ._version__ et appuyez sur Entrée.

Comme vous pouvez le voir sur la capture d'écran ici, j'utilise cette méthode pour vérifier la version du module série.

Image


0
joker2368

Il existe également un outil appelé pip-check qui vous donne un aperçu rapide de tous les paquetages installés et de leur statut de mise à jour: 

enter image description here

Je ne l'ai pas utilisé moi-même; Je suis tombé par hasard dessus et cette SO question s’est rapidement succédé, et comme cela n’a pas été mentionné ...

0
Ola Tuvesson