web-dev-qa-db-fra.com

Quelle est la version de Python que j'ai?

Comment savoir quelles versions de Python j'ai?

J'utilise Ubuntu 14.04 (Trusty Tahr).

67
TechJhola

Vous pouvez utiliser python -V (et al.) Pour vous montrer la version de Python à laquelle la commande pythona été résolue. Si c'est tout ce dont vous avez besoin, vous avez terminé. Mais pour voir chaque version de python sur votre système, il en faut un peu plus.

Dans Ubuntu, nous pouvons vérifier la résolution avec readlink -f $(which python). Dans les cas par défaut de 14.04, il s’agira simplement de /usr/bin/python2.7.

Nous pouvons l'enchaîner 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 fait que nous indiquer quelle est notre résolution actuelle pythonname__. Si nous étions dans un Virtualenv (un système de gestion de pile Python commun) pythonpourrait être résolu en une version différente:

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

C'est la sortie réelle.

Le fait est qu'il pourrait y avoir des centaines de versions différentes de Python secrètes autour de votre système, soit sur des chemins ajoutés de manière contextuelle, soit sous différents noms binaires (tels que python3).

Si nous supposons qu'un binaire Python sera toujours appelé python<something> et sera un fichier binaire, nous pouvons simplement rechercher dans le système entier les fichiers correspondant à 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 c’est là encore une sortie réelle et elle semble avoir fait un travail assez complet.

83
Oli

Tapez ensuite 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 de - help

Exemple:

python --help

Manuel/pages de manuel également disponibles pour la plupart de ces interfaces de ligne de commande pouvant être affichées avec man <command> (Ex: man python)

De man python:

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

python3 est également installé sur de nombreuses machines. Vous pouvez donc:

python3 --version

pour savoir ce que vous utilisez python 3.x.

60
iffy
python --version

et

python2 --version

affiche la version de Python 2.x,

python3 --version

la version installée de Python 3.x

31
Florian Diesch

Lorsque vous exécutez python dans le terminal, le résultat sera le suivant:

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 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 montrera pas tout. Si vous avez 2 ou plus de python 3.X.x versions, 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 constater, j'ai mis à jour la version 3.4.1. Je sais que j'ai toujours la version 3.4.0 car lorsque je vais à /usr/bin, je vois python3.4 et si je lance /usr/bin/python3.4 dans la ligne de commande, je reçois la version 3.4.0 et l'exécution de /usr/local/bin/python3.4 me donne 3.4.1.

8
Tim

Vous pouvez également vérifier la version Python du code lui-même à l'aide du module platform de la bibliothèque standard. Il existe deux fonctions: platform.python_version() (retourne une chaîne) et platform.python_version_Tuple() (retourne Tuple). Scénario:

import platform

print(platform.python_version())
print(platform.python_version_Tuple())

Fonctionnement:

$ python test.py 
3.4.1
('3', '4', '1')
$ python2.7 test.py 
2.7.8
('2', '7', '8')
5
Nykakin

Si vous souhaitez voir toutes les versions de Python disponibles en tant que commandes, exécutez compgen -c python. Par exemple:

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

Si vous souhaitez obtenir la version de chacun des éléments ci-dessus, voici une ligne:

$ for p in $(compgen -c python); do printf "%-16s" $p; $p --version; done
python2.7      Python 2.7.6
python3.4m     Python 3.4.3
python3.4      Python 3.4.3
python3m       Python 3.4.3
python         Python 2.7.6
python3        Python 3.4.3
python2        Python 2.7.6

Mise à jour: python*-config

J'ai remarqué que les programmes python*-config ne prennent pas en charge l'indicateur --version. Par exemple:

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

Vous pouvez donc les filtrer avec grep -v, par exemple:

compgen -c python | grep -v -- '-config$'
4
wjandrea

Ouvrez facilement le terminal et procédez comme suit:

Écrire

python

pour vérifier votre version 2.x Dans mon cas, il apparaîtra:

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.

Pour le 3.x, écrivez:

python3

Dans mon cas, il apparaît:

Python 3.4.0 (default, Apr 11 2014, 13:05:11) 
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.

Dans les deux cas, pour sortir de Python Shell, écrivez:

 exit()
2
Willington
  • Dans le terminal shell

    $ which -a python liste tous vos python.

    $ which -a python2.7 liste tous vos python2.7.

    $ /usr/bin/python -V donne des informations sur la version de /usr/bin/python.

  • archiver le script python

voici une illustration dans le shell ipython:

In [1]: import sys

In [2]: sys.version
2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Dec  6 2015, 18:08:32) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)]

In [3]: sys.version_info
sys.version_info(major=2, minor=7, micro=11, releaselevel='final', serial=0)

In [4]: sys.version_info >= (2,7)
Out[4]: True

In [5]: sys.version_info >= (3,)
Out[5]: False
1
Lee