94 votes

Quelle version de Python ai-je ?

Comment puis-je savoir quelles versions de Python je possède ?

J'utilise Ubuntu 14.04 (Trusty Tahr).

110voto

Mufaka Points 54

Vous pouvez utiliser python -V (et al.) pour vous montrer la version de Python que la python se résout en. Si c'est tout ce dont vous avez besoin, vous avez terminé. Mais pour voir toutes les versions de Python dans votre système, il faut un peu plus.

Dans Ubuntu, nous pouvons vérifier la résolution avec readlink -f $(which python) . Dans les cas par défaut dans 14.04, cela pointera simplement sur /usr/bin/python2.7 .

Nous pouvons enchaîner ceci pour montrer la version de cette version de Python :

$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python2.7: Python 2.7.6

Mais cela ne nous dit toujours que ce que notre actuel python la résolution est. Si nous étions dans un Virtualenv (un système commun de gestion de la pile Python) python pourrait se résoudre à une version différente :

$ readlink -f $(which python) | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4

Il s'agit d'une production réelle.

Le fait est qu'il peut y avoir des centaines de versions différentes de Python cachées dans votre système, soit sur des chemins ajoutés contextuellement, soit sous des noms binaires différents (tels que python3 ).

Si nous supposons qu'un binaire Python sera toujours appelé python<something> et être un fichier binaire, nous pouvons simplement rechercher dans tout le système les fichiers qui correspondent à ces critères :

$ sudo find / -type f -executable -iname 'python*' -exec file -i '{}' \; | awk -F: '/x-executable; charset=binary/ {print $1}' | xargs readlink -f | sort -u | xargs -I % sh -c 'echo -n "%: "; % -V'
/home/oli/venv/bin/python: Python 2.7.4
/media/ned/websites/venvold/bin/python: Python 2.7.4
/srv/chroot/precise_i386/usr/bin/python2.7: Python 2.7.3
/srv/chroot/trusty_i386/usr/bin/python2.7: Python 2.7.6
/srv/chroot/trusty_i386/usr/bin/python3.4: Python 3.4.0
/srv/chroot/trusty_i386/usr/bin/python3.4m: Python 3.4.0
/usr/bin/python2.7: Python 2.7.6
/usr/bin/python2.7-dbg: Python 2.7.6
/usr/bin/python3.4: Python 3.4.0
/usr/bin/python3.4dm: Python 3.4.0
/usr/bin/python3.4m: Python 3.4.0
/web/venvold/bin/python: Python 2.7.4

C'est évidemment une commande assez hideuse, mais il s'agit là encore d'une sortie réelle et il semble qu'elle ait fait un travail assez complet.

65voto

iffy Points 1067

Tapez ce qui suit dans le terminal ( Ctrl + Alt + T ) :

python -V

ou

python --version

Vous pouvez trouver une liste d'options/paramètres pour de nombreuses commandes dans le terminal en tapant la commande suivie par --help

Exemple :

python --help

Des manuels/manpages sont également disponibles pour la plupart de ces CLI qui peuvent être affichés par man <command> (Ex : man python )

De man python :

COMMAND LINE OPTIONS
        -V ,  --version
              Prints the Python version number of the executable and exits.

Il existe également python3 installé sur de nombreuses machines, donc vous pouvez le faire :

python3 --version

pour savoir quel Python 3.x vous utilisez.

37voto

Fabiano Soriani Points 543
python --version

y

python2 --version

indique la version de Python 2.x,

python3 --version

la version installée de Python 3.x

10voto

wjandrea Points 13147

Si vous voulez voir toutes les versions de Python disponibles sous forme de commandes, exécutez compgen -c python . Par exemple

$ compgen -c python | sort -u
python
python2
python2.7
python3
python3.4
python3.4m
python3m

Si vous voulez obtenir la version de chacun des éléments ci-dessus :

compgen -c python | sort -u | grep -v -- '-config$' | while read -r p; do
     printf "%-14s  " "$p"
     "$p" --version
done

python         Python 2.7.6
python2        Python 2.7.6
python2.7      Python 2.7.6
python3        Python 3.4.3
python3.4      Python 3.4.3
python3.4m     Python 3.4.3
python3m       Python 3.4.3

Note : Je filtre les python*-config programmes avec grep -v puisqu'ils ne supportent pas le --version drapeau. Par exemple :

$ python3-config --version
Usage: /usr/bin/python3-config --prefix|--exec-prefix|--includes|--libs|--cflags|--ldflags|--extension-suffix|--help|--abiflags|--configdir

8voto

Tim Points 30349

Lorsque vous exécutez python dans le terminal, il produira une sortie comme celle-ci :

Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Voir la première ligne - Python 2.7.6 .

Exécutez également python3 . J'ai la version 3.4.1

Python 3.4.1 (default, Jul 31 2014, 12:46:17) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Cependant, cela ne vous les montrera pas tous. Si vous avez 2 ou plusieurs versions de Python 3.X.x, vous ne verrez que la dernière.

Par défaut sur 14.04, vous avez 2.7.6 et 3.4.0. Comme vous pouvez le voir, j'ai mis à jour en 3.4.1. Je sais que j'ai toujours la version 3.4.0 parce que lorsque je vais sur le site de /usr/bin Je vois. python3.4 et si j'exécute /usr/bin/python3.4 dans la ligne de commande, j'obtiens 3.4.0, et en exécutant /usr/local/bin/python3.4 me donne 3.4.1

Mes pronoms sont Il / Lui

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X