This is an old revision of the document!
In order to begin using Python, you need to have a Python distribution installed. A distribution provides a Python interpreter, and Python extensions (aka Python modules). You may have several distributions installed on your computer and you need to know how to initialize them, and which one you are using at a given time (type which python
on Linux)
If you are using a Linux computer or a Mac, you should already have a default python installed. The following example shows where the python interpreter is installed on the asterix1 server (if it's in /usr/bin
, it's the default python) and which version it is (version 2.6.6 compiled in May 2015)
jypeter@asterix1 - ...jypeter - 41 >which python /usr/bin/python jypeter@asterix1 - ...jypeter - 47 >rpm -qf /usr/bin/python python-2.6.6-64.el6.x86_64 jypeter@asterix1 - ...jypeter - 42 >python Python 2.6.6 (r266:84292, May 22 2015, 08:34:51) [GCC 4.4.7 20120313 (Red Hat 4.4.7-15)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
This section will help you choose a distribution in the big Python ecosystem (many distributions, python version 2.7.* or 3.*, …). You should use a distribution that is already available near your data (e.g. do the computation on a server near your data, do not move/duplicate the data!).
Only install a distribution yourself if you need it on your local computer, or if you need to install some modules that can't be installed by the contacts listed below. A python distribution can be quite big, so do not install it in a backed up home directory!
We suggest that you use Python 2 rather than Python 3. Or you can check the differences between both versions and try to write scripts that will work in both versions!
Contact: the LSCE system administrators
jypeter@asterix1 - ...jypeter - 43 >module avail [...] castem/12 ferret/6.9.5 hdf5/1.8.9 netcdf/4p python/2.7.5 sun-java/7.0.45 [...] jypeter@asterix1 - ...jypeter - 44 >module load python/2.7.5 jypeter@asterix1 - ...jypeter - 45 >which python /usr/local/install/python-2.7.5/bin/python jypeter@asterix1 - ...jypeter - 46 >python Python 2.7.5 (default, Sep 18 2013, 15:47:43) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Contact: the TGCC hotline
[p25jype@curie70 ~]$ module avail [...] cmake/2.8.9(default) hwloc/1.5 netcdf-utils/4.3.3.1_hdf5 python/2.7.8 tix/8.4.3 cmake/3.2.2 hwloc/1.7.1(default) octave/3.6.3 python/3.3.2 tk/8.5(default) [...] [p25jype@curie70 ~]$ module load python/2.7.8 load module python/2.7.8 (Python) [p25jype@curie70 ~]$ which python /usr/local/ccc_python/2.7.8_201409/bin/python [p25jype@curie70 ~]$ python Python 2.7.8 (default, Aug 27 2014, 17:50:16) [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Enthought Canopy is a Scientific and Analytic Python Deployment with Integrated Analysis Environment provided by Enthought. It is available for Windows, Mac and Linux. You can download the free Canopy Express that will already provide many extensions. If you are entitled to use Canopy Academic, login from inside Canopy Express and download the extra modules you need
Anaconda is a distribution similar to canopy provided by Continuum Analytics. It is available for Windows, Mac and Linux
Once you have initialized the python distribution you want to use, follow the instructions below to start the interpreter from a shell (on a Windows computer, you will have to start python from the Start menu).
Remember that you can check which python you are using by typing which python
!
Key | Effect |
---|---|
CTRL-D | Exit the interpreter |
↑ and ↓ | Go to previous/next line(s) |
CTRL-A | Go to the beginning of the line |
CTRL-E | Go to the end of the line |
CTRL-K | Erase from the cursor to the end of the line |
TAB x 2 | Do some TAB-completion (context dependent) e.g. a = np.cumTABTAB |
CTRL-C | Interrupt a running script |
CTRL-Z | Suspend the interpreter and go back to the shell Do not forget to go back to the interpreter with fg or to kill it (with jobs and kill %NN ) |
A python script is just like any other shell script. You don't have to explicitly call the python interpreter, if the interpreter is specified in a #!
shebang comment on the first line of the script with, and the script has it's execution bit set.
jypeter@asterix1 - ...jypeter - 54 >cat basic_script.py #!/usr/bin/env python import sys script_name = sys.argv[0] print('Hello world, I am the ' + script_name + ' script') # The end jypeter@asterix1 - ...jypeter - 55 >chmod +x basic_script.py ypeter@asterix1 - ...jypeter - 56 ># Type here what is required to initialize the distrib you want jypeter@asterix1 - ...jypeter - 57 >./basic_script.py Hello world, I am the ./basic_script.py script
python
: start the interpreterpython script.py
: execute script.py and exitpython -i script
: execute script.py and stay in the interpreter
Type man python
if you want to see what other command line options are available
The ipython interpreter