Pythoni ja Jupyteri installeerimine

Juhul kui süsteemis toimivat Pythoni installatsiooni ei ole, tuleks esmalt alla laadida ja käivitada Pythoni installifail Windowsi jaoks (valida parajalt uus versioon, nt 3.12.10). Avanevas dialoogis valida Customize installation, järgmisel lehel märgistada pip ja järgmisel lehel Add Python to environment variables.

Python installeeriminePython installeerimine

Pärast installi lõppu tuleb Pythoni paketihalduri pip abiga installeerida juurde mõned meile vajalikud vahendid. Käivita Windowsi käsureal (Command Prompt):

pip install scipy matplotlib sympy notebook uncertainties

Nüüd Jupyteri keskkond avaneb käsuga

jupyter notebook

Uuemas Linuxi keskkonnas peaks saama kõik vajalikud vahendid installeeritud süsteemi keskse paketihalduri kaudu, näiteks:

sudo apt install python3-scipy python3-matplotlib python3-sympy python3-notebook python3-uncertainties

Alternatiivselt võib installeerida Anaconda distributsiooni, mis sisaldab juba enam-vähem terviklikku komplekti teadusarvutuse vahendeid (installeerimine võtab ka kauem aega). Selle installifail on saadav nii Windowsi, Maci kui Linuxi platvormile.

Anaconda installeerimineAnaconda installeerimine

Windowsi Start-menüüsse tekib Anaconda kataloog ja sealt on leitavad kiirkorraldused Jupyter Notebook ja Anaconda Prompt.

Vajadusel tuleb juurde installeerida vaid üks pakett (Anaconda käsurealt):

conda install conda-forge::uncertainties

Arvutuskeskkonna seadistamine

Praktiliselt alati läheb tarvis mooduleid math, numpy ja matplotlib.pyplot, mis tuleb importida enne edasisi arvutusi:

from math import *
import numpy as np
from matplotlib.pyplot import *

Siin moodulile numpy on antud lühem nimi np, nii et mistahes selles moodulis sisalduva objekti, näiteks funktsiooni sqrt (ruutjuur) poole saab edaspidi pöörduda kujul np.sqrt. Seevastu mooduleist math ja matplotlib.pyplot on toodud kõik funktsioonid välja ja neid saab kasutada ilma täiendava eesliiteta.

Mooduli math funktsioonid toimivad vaid skalaarsete andmetega (st üksikute reaalarvudega). Vektoriseeritud avaldiste kirjapanemisel tuleb kasutada vastavaid funktsioone NumPy teegist. Teisipidi, kui on tegemist sellist laadi mahuka arvutamisega, kus vektoriseerimist ei saa kasutada, on mooduli math funktsioonid mõnevõrra kiiremad.

Aeg-ajalt läheb tarvis ka füüsikalisi ja matemaatilisi konstante, sh SI-väliste ühikute teisendustegureid. Neid saab moodulist scipy.constants. Vajadusel saab imporditud muutujatele anda käepärasemad nimed.

from scipy.constants import pi, calorie_IT as cal, mmHg, degree as deg

Seega deg väljendab ühe nurgakraadi suurust radiaanides, cal väljendab (rahvusvahelise) kalori suurust džaulides, jne. Konstantide täielik loetelu avaneb siit.

Mõistliku vaikekujundusega graafikute saamiseks võivad vajalikud olla teatavad üldised stiilimuudatused, mis rakenduvad vaikimisi kõigile loodavatele graafikutele. Näiteks:

style.use({
    'figure.dpi': 120,
    'lines.linewidth': 1.5,
    'lines.markeredgewidth': 1.5,
    'lines.markersize': 5,
    'axes.titlesize': 'medium'
})

Interaktiivsed graafikud

Vanemas Jupyter Notebook keskkonnas aktiveeritakse suumitavad ja hiirekursori koordinaate näitavad graafikud direktiiviga %matplotlib notebook. Uuemas Jupyteris (v7) see ei tööta, selle asemel tuleb kasutada direktiivi %matplotlib widget, mis omakorda eeldab, et on installeeritud ipympl:

pip install ipympl

või

conda install conda-forge::ipympl
Enamasti pole vajadust teha kõiki graafikuid töölehel interaktiivseks. Staatilise graafiku saab nii:
with ioff():
    fig = figure()
    ...
    display(fig)

Interaktiivse graafiku uuendamisel tuleks vana versioon esmalt sulgeda (muidu kõik eelmised versioonid kuhjuvad arvuti mällu). Seda saab organiseerida, andes graafikule unikaalse nime või numbri:

close('graafik')
figure('graafik')
...
show()

Võib ka taaskasutada olemasolevat joonist:

figure('graafik', clear=True)
...
show()

ipympl puhul vaikimisi graafiku nimi kuvatakse joonise kohal. Selle vältimiseks tuleks toimida nii:

fig = figure('graafik', clear=True)
fig.canvas.header_visible = False
...
show()

Vaata lisaks

Sisukord