90

I have just migrated from Windows environment. I have installed Python 3.2 in a separate directory. How can I get the python installation path in Ubuntu shell?

Is there any way I can let the shell know/choose at runtime which python version is to be used for further code execution?

Are there any environment variables and search path kind of things in Ubuntu Linux as well?

Zanna
  • 69,223
  • 56
  • 216
  • 327
avimehenwal
  • 1,303
  • 2
  • 14
  • 17

5 Answers5

103

First question:

which python though its usually /usr/bin/python for the 2.7

Second question:

From a terminal & python2.7: python2.7 yourfile.py.
Simailarly for 3.2: python3.2 yourfile.py though 3.2 isn't installed by default. (You can apt-get install python3.2.)

What python yourfile.py will do depends on which alternative is used for your python interpreter. You can change that by issuing update-alternatives python as root (or by using su).

Third question:

Environment variables are shell dependent, though you can write them out with echo $variable and set them with variable=value (from bash). The search path is simply called PATH and you can get yours by typing echo $PATH.

I hope this was helpful.

Wolfer
  • 2,124
  • 1
  • 14
  • 20
  • Thanks @Wolfer ! Answer was indeed helpful and much appreciated. If somebody like me has changed default python 3 installation path then .. ? How can I check path and run using this version ? – avimehenwal Feb 27 '13 at 19:56
  • Also, I am not getting any output for $echo $variable – avimehenwal Feb 27 '13 at 19:59
  • 3
    `which python2.7` and `which python3.2` will return each interpreter's install path (or return nothing if it's not installed). – Wolfer Mar 02 '13 at 17:18
53

If you want to find the location of a program you can just use whereis <program>.

In your case run:

whereis python2.7
whereis python3.2

For finding every file that apt-get has copied for installation use:

dpkg -S python2.7
dpkg -S python3.2

But maby it is recommend to save it in a textfile, because the output is to large.

dpkg -S python2.7 >log.txt
gedit log.txt

for running .py file with python 3.2

python3.2 <file.py>
Thomas15v
  • 1,593
  • 1
  • 11
  • 21
  • 1
    Thanks @Thomas ! This command 'whereis python2.7' is displaying many paths, but I think there has to be single python installation directory ! – avimehenwal Feb 27 '13 at 20:08
  • 1
    dpkg -S python2.7 shows all the files of python2.7. "/usr/lib/python2.7" is the directory of python2.7. – Thomas15v Feb 27 '13 at 20:12
  • I m a bit confused, /usr/bin/python is the default shebang we use while python package is located at /usr/lib/python2.7 ? Is that true ?? – avimehenwal Feb 27 '13 at 20:25
  • /usr/lib/python is the program. In linux evry file can be a program. If you come from window it is confused. – Thomas15v Feb 27 '13 at 20:58
12

Here is a simple way, run in terminal:

type -a python

or

type -a python3
2

For Python2.7

whereis python2.7 

For Python3.2

whereis python3.2

For Python 3.8

which python3

or

whereis python3
0

In the Python interprete, run these two commands:

>>> import sys
>>> sys.path

and one of those outputs will be the installation path

cocomac
  • 3,043
  • 3
  • 16
  • 49