This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
other:python:starting [2017/08/10 12:29] jypeter Added references to cdatm15 and cdatm |
other:python:starting [2019/04/25 07:19] jypeter [Working with Python] Added link to historic version of the page |
||
---|---|---|---|
Line 6: | Line 6: | ||
</note> | </note> | ||
+ | Note: the former and **outdated** version (before the massive usage of //conda//) is still [[other:python:starting_170810|available for reference]] | ||
===== Where to start ===== | ===== Where to start ===== | ||
In order to start working with Python, you need to have a //Python distribution// installed on your local computer or on the remote Linux server(s) you work on. A //distribution// provides a //Python interpreter//, and Python extensions (aka Python //modules// or //packages//). 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 to determine where the python executable is located) | In order to start working with Python, you need to have a //Python distribution// installed on your local computer or on the remote Linux server(s) you work on. A //distribution// provides a //Python interpreter//, and Python extensions (aka Python //modules// or //packages//). 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 to determine where the python executable is located) | ||
- | 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 //asterix// LSCE server (if it's in ''/usr/bin'', it's the default python) and which version it is (example below: version //2.6.6// compiled in May 2015) | + | 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 //obelix// LSCE servers (if it's in ''/usr/bin'', it's the default python) and which version it is (example below: version //2.7.5// compiled in April 2019) |
<code># Which is the current python (e.g. where is it located)? | <code># Which is the current python (e.g. where is it located)? | ||
Line 18: | Line 19: | ||
# Where is it coming from ('rpm' works on a RedHat-like Linux machine)? | # Where is it coming from ('rpm' works on a RedHat-like Linux machine)? | ||
> rpm -qf /usr/bin/python | > rpm -qf /usr/bin/python | ||
- | python-2.6.6-64.el6.x86_64 | + | python-2.7.5-77.el7_6.x86_64 |
# You also get some information when you start the interpreter | # You also get some information when you start the interpreter | ||
> python | > python | ||
- | Python 2.6.6 (r266:84292, May 22 2015, 08:34:51) | + | Python 2.7.5 (default, Apr 9 2019, 14:30:50) |
- | [GCC 4.4.7 20120313 (Red Hat 4.4.7-15)] on linux2 | + | [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2 |
Type "help", "copyright", "credits" or "license" for more information. | Type "help", "copyright", "credits" or "license" for more information. | ||
>>> | >>> | ||
Line 30: | Line 31: | ||
===== Python distributions available for LSCE users ===== | ===== Python distributions available for LSCE users ===== | ||
- | 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!) and try to identify who is maintaining it, if you need help or extra packages. | + | 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!) and try to identify who is maintaining it, if you need help or additional packages. |
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 require several Gb of disk space, so do not install it in a backed up //home// directory! | 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 require several Gb of disk space, 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 [[https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:python:jyp_steps#python_27_vs_python_3|differences between both versions]] and try to write scripts that will work in both versions! 8-) | + | You can use either //Python 2// or //Python 3//. Most packages are now available in both versions, but you should make sure that the most important package/s you need is/are available in the selected version. Check the [[https://wiki.lsce.ipsl.fr/pmip3/doku.php/other:python:jyp_steps#python_27_vs_python_3|differences between both versions]] and try to write scripts that will work in both versions! 8-) |
==== LSCE distribution ==== | ==== LSCE distribution ==== | ||
Line 43: | Line 44: | ||
> module avail | > module avail | ||
[...] | [...] | ||
- | castem/12 ferret/6.9.5 hdf5/1.8.9 netcdf/4p python/2.7.5 sun-java/7.0.45 | + | 4ARTIC/3.6 grib_api/1.14 netcdf/3 python/2.7.5 |
+ | batch_env grib_api/1.14.0 netcdf/4 python/3.6 | ||
+ | [...] | ||
+ | glost/0.3.1 ncview/2.1.7 python/2.7 | ||
[...] | [...] | ||
- | > module load python/2.7.5 | + | > module load python/2.7 |
> which python | > which python | ||
- | /usr/local/install/python-2.7.5/bin/python | + | /usr/local/install/python-2.7/bin/python |
> python | > python | ||
- | Python 2.7.5 (default, Sep 18 2013, 15:47:43) | + | Python 2.7.15 |Anaconda, Inc.| (default, Oct 10 2018, 21:32:13) |
- | [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2 | + | [GCC 7.3.0] on linux2 |
Type "help", "copyright", "credits" or "license" for more information. | Type "help", "copyright", "credits" or "license" for more information. | ||
>>> | >>> |