Python¶
Popis¶
Táto stránka opisuje inštaláciu vlastnej verzie Pythonu pomocou
virtuálneho prostredia vytvoreného príkazom venv.
Vlastná verzia Pythonu je potrebná, ak vaša aplikácia alebo kód vyžadujú ďalšie Python balíky alebo konkrétnu verziu Pythonu či jednotlivých balíkov. To vám poskytuje kontrolu nad verziami nainštalovaných balíkov a umožňuje ich aktualizáciu podľa potreby. Systémové aktualizácie Pythonu neovplyvnia vaše virtuálne prostredie.
Systémový Python¶
Predvolené verzie Pythonu dostupné na clustri sú:
python2 --version
Python 2.7.5
python3 --version
Python 3.6.8
Python 2
Python 2 už neodporúčame používať, keďže
Python 2 je oficiálne EOL.
Modul python2 používajte iba v prípade, že máte starší kód,
ktorý nie je možné aktualizovať na Python 3.
Predvolená verzia Pythonu dostupná na clustri je:
python3 --version
Python 3.9.21
Okrem toho existuje niekoľko rôznych verzií Pythonu, ktoré sú dostupné
ako moduly. Ich zoznam môžete zobraziť pomocou príkazu module avail
a požadovanú verziu načítať pomocou príkazu module load.
module avail Python
---------------------------------------------- /storage-apps/easybuild/modules/lang ----------------------------------------------
Python/2.7.18-GCCcore-9.3.0 Python/3.8.6-GCCcore-10.2.0 Python/3.10.4-GCCcore-11.3.0-bare
Python/2.7.18-GCCcore-10.2.0 Python/3.9.5-GCCcore-10.3.0-bare Python/3.10.4-GCCcore-11.3.0
Python/2.7.18-GCCcore-11.2.0-bare Python/3.9.5-GCCcore-10.3.0 Python/3.10.8-GCCcore-12.2.0-bare
Python/2.7.18-GCCcore-11.3.0-bare Python/3.9.6-GCCcore-11.2.0-bare Python/3.10.8-GCCcore-12.2.0 (D)
Python/3.8.2-GCCcore-9.3.0 Python/3.9.6-GCCcore-11.2.0 SciPy-bundle/2020.03-foss-2020a-Python-3.8.2
---------------------------------------------- /storage-apps/easybuild/modules/lib -----------------------------------------------
pybind11/2.4.3-GCCcore-9.3.0-Python-3.8.2 python-isal/1.1.0-GCCcore-11.3.0
--------------------------------------------- /storage-apps/easybuild/modules/tools ----------------------------------------------
Meson/0.55.1-GCCcore-9.3.0-Python-3.8.2
---------------------------------------------- /storage-apps/easybuild/modules/vis -----------------------------------------------
matplotlib/3.2.1-foss-2020a-Python-3.8.2 wxPython/4.2.0-foss-2021b
--------------------------------------------- /apps/easybuild/software/modules/lang ---------------------------------------------
Python-bundle-PyPI/2024.06-GCCcore-13.3.0 Python/3.10.8-GCCcore-12.2.0 Python/3.13.1-GCCcore-14.2.0
Python-bundle-PyPI/2025.07-GCCcore-14.3.0 (D) Python/3.11.3-GCCcore-12.3.0 Python/3.13.5-GCCcore-14.3.0
Python/3.10.4-GCCcore-11.3.0-bare Python/3.11.5-GCCcore-13.2.0 Python/3.14.2-GCCcore-15.2.0 (D)
Python/3.10.8-GCCcore-12.2.0-bare Python/3.12.3-GCCcore-13.3.0
-------------------------------------------- /apps/easybuild/software/modules/tools ---------------------------------------------
meson-python/0.16.0-GCCcore-13.3.0 meson-python/0.18.0-GCCcore-14.3.0 (D)
Inštalácia vlastného Python 3.x prostredia¶
Vytvorenie Python virtuálneho prostredia uloží jeho súbory do zvoleného adresára. Najskôr preto prejdite do požadovaného adresára:
mkdir ~/virtualenv
cd ~/virtualenv
Načítajte verziu Pythonu, ktorú chcete použiť ako základ virtuálneho
prostredia. V tomto príklade použijeme Python/3.10.8-GCCcore-12.2.0:
module load Python/3.10.8-GCCcore-12.2.0
Ak chcete použiť jednu z predvolených verzií Pythonu 2 alebo Pythonu 3, môžete tento krok vynechať.
Použite príkaz venv na vytvorenie virtuálneho prostredia
venv_py_310:
python310 -m venv venv_py_310
Názov virtuálneho prostredia
Pravdepodobne budete chcieť použiť pre svoje Python prostredie
názov odvodený od projektu, na ktorom pracujete, namiesto
venv_py_310. V názve však nepoužívajte medzery.
Teraz je potrebné prostredie aktivovať pomocou príkazu source:
source venv_py_310/bin/activate
Shell prompt bude teraz zobrazovať názov aktuálne aktívneho Python
prostredia, t.j. (venv_py_310). Cesta k tomuto novému Pythonu,
t.j. ~/venv_py_310/bin, sa pridá na začiatok existujúcej premennej
PATH. Zároveň sa nastaví premenná prostredia VIRTUAL_ENV.
V tejto fáze je vhodné skontrolovať, či je správca balíkov Pythonu,
pip, aktuálny:
python -m pip install --upgrade pip
V tomto bode máte funkčné a plne prispôsobiteľné Python virtuálne
prostredie, v ktorom môžete inštalovať, aktualizovať a odstraňovať
ľubovoľné balíky. Na opustenie Python prostredia použite príkaz
deactivate. Následne sa vrátite k predvolenému systémovému Pythonu.
Môže byť užitočné zaznamenať, ktoré balíky a v akých verziách sú
nainštalované v jednotlivých virtuálnych prostrediach. Spustením
príkazu pip freeze sa vypíše zoznam nainštalovaných balíkov
a ich verzií. Tento zoznam môžete následne použiť na opätovnú
inštaláciu balíkov do virtuálneho prostredia pomocou príkazu
pip install -r requirements.txt.
source venv_py_310/bin/activate
pip freeze > requirements_venv_py_310.txt
deactivate
Ak budete musieť prostredie znova vytvoriť a nainštalovať jeho balíky, spustite:
source venv_py_310/bin/activate
pip install -r requirements_venv_py_310.txt
deactivate
Požiadavky na moduly
Ak na vytvorenie Python virtuálneho prostredia použijete jednu z verzií Pythonu dostupných ako modul, musíte túto verziu Pythonu načítať pri každom použití virtuálneho prostredia.
Použitie Python 3.x prostredia so Slurm plánovačom¶
V Slurm odosielacom skripte je potrebné aktivovať Python virtuálne prostredie rovnako ako na príkazovom riadku. Pred príkaz, ktorý spúšťa váš Python kód, pridajte:
module load Python/3.10.8-GCCcore-12.2.0 # Only if you used Python version from available modules
source $HOME/virtualenv/venv_py_310/bin/activate
Na koniec Slurm odosielacieho skriptu pridajte:
deactivate