web-dev-qa-db-fra.com

Trouver le chemin complet de l'interprète Python?

Comment trouver le chemin d'accès complet de l'interpréteur Python en cours d'exécution à partir du script Python en cours d'exécution?

333
vy32

sys.executable contient le chemin complet de l'interprète en cours d'exécution [Python.

import sys

print(sys.executable)

qui est maintenant documenté ici

514
Imran

Notant simplement une utilité douteuse différente, en utilisant os.environ :

_import os
python_executable_path = os.environ['_']
_

par exemple.

_$ python -c "import os; print(os.environ['_'])"
/usr/bin/python
_
8
famousgarkin

Il existe plusieurs manières de déterminer la commande python actuellement utilisée sous Linux: 1) which python commande. 2) command -v python commande 3) type python commande

De même sous Windows avec Cygwin, le résultat sera identique.

kuvivek@HOSTNAME ~
$ which python
/usr/bin/python

kuvivek@HOSTNAME ~
$ whereis python
python: /usr/bin/python /usr/bin/python3.4 /usr/lib/python2.7 /usr/lib/python3.4        /usr/include/python2.7 /usr/include/python3.4m /usr/share/man/man1/python.1.gz

kuvivek@HOSTNAME ~
$ which python3
/usr/bin/python3

kuvivek@HOSTNAME ~
$ command -v python
/usr/bin/python

kuvivek@HOSTNAME ~
$ type python
python is hashed (/usr/bin/python)

Si vous êtes déjà dans le shell python. Essayez quelqu'un de ceux-ci. Note: Ceci est une autre manière. Pas le meilleur moyen pythonique.

>>>
>>> import os
>>> os.popen('which python').read()
'/usr/bin/python\n'
>>>
>>> os.popen('type python').read()
'python is /usr/bin/python\n'
>>>
>>> os.popen('command -v python').read()
'/usr/bin/python\n'
>>>
>>>
3
kvivek