.. jf-topic:: python.drafts.installation
Python Installation
===================
Setup
-----
The language itself consists of the Python interpreter itself, and a
rather complete set of *modules* (one says, "Python comes with
batteries included").
In the training we might look into *external* modules, such as `NumPy
`__ and/or `Pandas
`__, but installing these is not the focus
of the current topic [#pip_venv]_.
.. note::
While the training material covers Python versions 2 and 3 to a
large extent, time has come to consider version 2 *obsolete*.
**Please choose Python 3 when installing!**
For the matter of the training, for diadactical purposes, I suggest we
use the standard Python installation,
* Download Windows installer from `here
`__, and go through the
installation process. *Take care to check the "add python to path"*
box.
(For Linuxers, Python usually comes as part of your favorite
distribution and is already installed.)
* If there is the need to install packages that are not contained in
Python's own set of packages, we will install them using ``pip``.
Data scientists often use a *distribution* named `Anaconda
`__ which brings the standard Python
installation and a large set of set of pre-packaged external
extensions [#anaconda_r]_ . If you are already familiar with Anaconda,
then I don't object.
Programming Environment
-----------------------
As we are all programmers to a certain extent, we know what tools to
use. For example, the training does not dictate which IDE (or editor)
a participant uses. The exercises are not voluminous enough to justify
that, after all; a simple text editor like Nodepad++ is sufficient.
That said, here's a list of IDEs/editors that are frequently used for
Python programming. It is in no particular order, and far from being
complete.
* `Visual Studio Code `__. See
:doc:`here ` for more.
* `PyCharm `__. I frequently see
people use it, so it cannot be all that bad.
* `Eclipse `__ and `PyDev
`__. Definitely a heavy weight (regarding memory
footprint at least) among IDEs, Eclipse knows how to handle Python.
* `Spyder `__. It is used by data
scientists a lot. Running code in it feels like a `Jupyter Notebook
`__ execution in that there are seemingly
strange "cell" like dependencies. (Take this into account when you
decide to go with it.)
* `Emacs `__. (I had to say
that.) Your trainer will use it to do occasional live hacking
demos. Watching someone use it is ok, but learning how to use it
requires a nontrivial amount of patience.
.. rubric:: Footnotes
.. [#anaconda_r] Anaconda also packages the `R
`__ language which is
also heavily used by data scientists.
.. [#pip_venv] See :doc:`pip/topic` and :doc:`venv/topic` for how to
install external packages.