Find full path of the Python interpreter? Find full path of the Python interpreter? python python

Find full path of the Python interpreter?


sys.executable contains full path of the currently running Python interpreter.

import sysprint(sys.executable)

which is now documented here


Just noting a different way of questionable usefulness, using os.environ:

import ospython_executable_path = os.environ['_']

e.g.

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


There are a few alternate ways to figure out the currently used python in Linux is:

  1. which python command.
  2. command -v python command
  3. type python command

Similarly On Windows with Cygwin will also result the same.

kuvivek@HOSTNAME ~$ which python/usr/bin/pythonkuvivek@HOSTNAME ~$ whereis pythonpython: /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.gzkuvivek@HOSTNAME ~$ which python3/usr/bin/python3kuvivek@HOSTNAME ~$ command -v python/usr/bin/pythonkuvivek@HOSTNAME ~$ type pythonpython is hashed (/usr/bin/python)

If you are already in the python shell. Try anyone of these.Note: This is an alternate way. Not the best pythonic way.

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

If you are not sure of the actual path of the python command and is available in your system, Use the following command.

pi@osboxes:~ $ which python/usr/bin/pythonpi@osboxes:~ $ readlink -f $(which python)/usr/bin/python2.7pi@osboxes:~ $ pi@osboxes:~ $ which python3/usr/bin/python3pi@osboxes:~ $ pi@osboxes:~ $ readlink -f $(which python3)/usr/bin/python3.7pi@osboxes:~ $