You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Conda je alat otvorenog koda za upravljanje paketima i virtualnim okruženjima. Omogućuje jednostavno kreiranje i održavanje virtualnih okruženja za Python, ali i druge programske jezike te ne zahtijeva root ovlasti.

Na klasteru Isabella conda je dostupna u sklopu Miniconda paketa.

VerzijaModul
4.5.2conda
$ module load conda

Conda virtualna okruženja

Kreiranje

Za kreiranje novog virtualnog okruženja koristi se naredba conda create. U sljedećem primjeru kreira se novo conda virtualno okruženje naziva py37 unutar kojeg se odmah instalira i Python verzija 3.7.

Ispis sadrži podatke o paketima koji će biti instalirani te upute o pokretanju kreiranog virtualnog okruženja.

[tsmolcic@teran ~]$ module load conda
[tsmolcic@teran ~]$ conda create --name py37 python=3.7
Solving environment: done
...
## Package Plan ##

  environment location: /home/tsmolcic/.conda/envs/py37

  added / updated specs:
    - python=3.7


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    openssl-1.1.1c             |       h7b6447c_1         3.8 MB
							  ...
    wheel-0.33.4               |           py37_0          39 KB
    ------------------------------------------------------------
                                           Total:        43.1 MB

The following NEW packages will be INSTALLED:

    ca-certificates: 2019.5.15-0
...
Proceed ([y]/n)? y

Downloading and Extracting Packages
openssl-1.1.1c       | 3.8 MB    | ########################################################################################################### | 100%
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use:
# > source activate py37
#
# To deactivate an active environment, use:
# > source deactivate
#

Aktiviranje i korištenje

Sljedeća naredba pokreće prethodno kreirani virtual environment:

[tsmolcic@teran ~]$ source activate py37

Naziv trenutno aktivnog virtualnog okruženja nalazi se u zagradama na početku svakog retka, a sljedeće naredbe potvrđuju da se radi o verziji Pythona unutar conda virtualnog okruženja:

(py37) [tsmolcic@teran ~]$ which python
~/.conda/envs/py37/bin/python
(py37) [tsmolcic@teran ~]$ python --version
Python 3.7.3

Za pregled instaliranih paketa koristi se naredba:

(py37) [tsmolcic@teran ~]$ conda list
# packages in environment at /home/tsmolcic/.conda/envs/py37:
#
# Name                    Version                   Build  Channel
ca-certificates           2019.5.15                     0
certifi                   2019.6.16                py37_0
libedit                   3.1.20181209         hc058e9b_0
...

a za instalaciju novih paketa:

(py37) [tsmolcic@teran ~]$ conda install numpy
Solving environment: done

## Package Plan ##
  environment location: /home/tsmolcic/.conda/envs/py37
  added / updated specs:
    - numpy

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    mkl_random-1.0.2           |   py37hd81dba3_0         405 KB
    numpy-base-1.16.4          |   py37hde5b4d6_0         4.4 MB
    numpy-1.16.4               |   py37h7e9f1db_0          49 KB

    ------------------------------------------------------------
                                           Total:       209.1 MB

The following NEW packages will be INSTALLED:

    blas:           1.0-mkl
...

Proceed ([y]/n)? y
Downloading and Extracting Packages
mkl_random-1.0.2     | 405 KB    | ########################################################################################################### | 100%
...
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

Nisu svi Python paketi dostupni kao Conda paket. Međutim, unutar conda virtualnog okruženja, za instaliranje Python paketa može se koristiti i pip.

Deaktiviranje

Deaktiviranje trenutno aktivnog okruženja obavlja se naredbom:

(py37) [tsmolcic@teran ~]$ source deactivate
[tsmolcic@teran ~]$ module unload conda

[tsmolcic@teran ~]$ python --version
Python 2.7.5

[tsmolcic@teran ~]$ which python
/usr/bin/python

Ispis dostupnih virtualnih okruženja

Popis dostupnih virtualnih okruženja može se dobiti naredbom:

[tsmolcic@teran ~]$ conda env list
# conda environments:
#
base                     /apps/qiime2/miniconda3
qiime2-2019.1            /apps/qiime2/miniconda3/envs/qiime2-2019.1
qiime2-2019.4            /apps/qiime2/miniconda3/envs/qiime2-2019.4
py37                     /home/tsmolcic/.conda/envs/py37
test-env                 /home/tsmolcic/.conda/envs/test-env

Okruženja koja se nalaze su /apps/ direktoriju su instalirana od strane administratora klastera te su dostupna korisnicima, međutim korisnici nemaju mogućnost izmjena tih okruženja. Vlastita virtualna okruženja spremaju se u direktorij /home/$USER/.conda/envs/ te su vidljiva samo korisniku koji ih je kreirao.

Brisanje virtualnog okruženja

Brisanje postojećeg virtualnog okruženja obavlja se naredbom:

[tsmolcic@teran ~]$ conda env remove --name py37

Primjer pokretanja posla

#!/bin/bash

#$ -N conda_posao
#$ -cwd
#$ -o output/
#$ -e output/
#$ -pe gpu 1

module load conda
source activate py37

python moja_app.py

source deactivate
module unload conda
  • No labels