Running python code
If I would like to try out some Python code, for example a hello world program, then where should I put it? There are three methods of running Python code:
- IPython (interactive)
- Jupyter Notebook (interactive)
- running the program code from a text file (non-interactive)
IPython
If you just quickly want to try out something, then maybe the easiest
option is to use the IPython interactive shell. To do this,
first start the terminal program to get a command prompt.
Then give the command ipython3
and press enter.
Then you can write Python commands and execute them by pressing enter.
Note that IPython supports tab completion. Try this out
by first writing pri
and then pressing the tabulator key.
It should complete the command to print
. IPython can tab complete
keywords; function, module, method, and variable names, and so on.
You can quit the the IPython shell by given the command exit
and
pressing enter.
The following animation will show an example session of using IPython.
Jupyter notebook
Again in the command prompt, issue command jupyter-notebook
.
It should start the Jupyter server and open a tab in the web browser
that is connected to the server. There you can click the new
button
and select Python 3
. Click on the cell, write your Python code
there, and execute it by pressing control-enter.
You can check the following video for introduction to Jupyter notebook:
The material of this course was written as Jupyter notebooks, and then rendered as html pages, which you are reading now. While the static html pages do not allow modification of pieces of Python code, you can click the 'open in colab' link at the top of the page to open the notebook in Google's colab service. There it is possible to edit code and re-execute it.
Executing a file containing Python code
In your favorite text editor write some Python code, and save
it to a file with .py
extension, for example myprogram.py
. Then you can execute
the program with the command python3 myprogram.py
. In all the exercises
of this course you write your solution to a text file (a stub file is provided
where you can add the missing pieces). To run your solution to an exercise, for example
the "hello world" exercise, use python3 src/hello_world.py
. This
of course depends on what is your current folder.
If you are running some unix based operation system, like Linux or macOS, you
can make the file directly executable in the following way. Add as the first line of you
program the line #!/usr/bin/env python
and
on command line issue command chmod u+x myprogram.py
. Then
you can execute the file from command line with ./myprogram.py
.
Correct software versions
It can be that the command python
still refers to the old python2 version.
This course relies completely on a newer python version. Therefore you may need
to use the command python3
to be sure the old version python2 is not used.
You can check the version number with the --version
option.
For example in the following way:
saskeli@dx5-cs-01:$ python --version
Python 2.7.15rc1
saskeli@dx5-cs-01:$ python3 --version
Python 3.6.7
If you have Anaconda correctly installed, then the Python version should
be new enough and python
command should refer to python3
, not python2
.
The Python version should be at least 3.6. The exercises may work with slightly older python versions as well, but you may run into issues with the exercise templates and tests.
The versions of additional libraries that are know to work are:
+--------------+---------+ | Library + Version | +==============+=========+ | numpy | 1.13.3 | +--------------+---------+ | pandas | 0.23.0 | +--------------+---------+ | matplotlib | 2.1.1 | +--------------+---------+ | scikit-learn | 0.19.1 | +--------------+---------+ | scipy | 0.19.1 | +--------------+---------+ | seaborn | 0.8.0 | +--------------+---------+ | jupyter | 1.0.0 | +--------------+---------+
More recent versions should work as well. You can check the software
version of your installation with the following Python script:
versions.py.
Download the script and execute it with python versions.py
(you might need to use the command python3 versions.py
).