Hyppää sisältöön

Significant changes to Puhti & Mahti authentication coming in April! Read about the SSH key and multi-factor authentication requirements.

Python-kirjastojen lisääminen SD Desktopin Python-ympäristöön

Oletuksena SD Desktop -virtuaalikoneissa, jotka perustuvat Ubuntu 22.04:ään, on asennettuna Python 3.10.12 (python3).

SD Desktopin Python3 sisältää yli 300 yleisesti käytettyä kirjastoa, kuten pandas, numpy ja scipy. Voit tarkistaa asennettujen kirjastojen täydellisen luettelon komennolla:

pip list

Koska saatavilla on valtava määrä python-kirjastoja, haluat usein käyttää kirjastoa, jota ei ole saatavilla SD Desktopissa.

Normaaleissa tietokoneissa ongelma voidaan helposti ratkaista lisäämällä puuttuva kirjasto pip install -komennolla. Kuitenkin, koska SD Desktop -virtuaalikoneilla ei ole internet-yhteyttä, et voi suorittaa pip install -komentoa sillä tavalla kuin sitä tavallisesti käytetään.

Jos suunnittelet käyttäväsi monimutkaista python-ympäristöä SD Desktopissa, paras ratkaisu on rakentaa Apptainer-kontti, joka sisältää kaikki tarvitsemasi Python-kirjastot, ja tuoda kontti SD Desktopiin.

Kuitenkin, jos sinun tarvitsee lisätä vain muutamia puuttuvia kirjastoja, voit luoda Python-virtuaaliympäristön lisätäksesi puuttuvat kirjastot. Tämä opas esittelee kaksi tapaa lisätä puuttuvia Python-kirjastoja olemassa olevaan Python-ympäristöön SD Desktopissa. Esimerkkinä Python-kirjastosta käytämme SciKit-Optimize-kirjastoa.

Vaihtoehto 1: add-python-lib -työkalu

Add-python-lib on apuväline, jota voidaan käyttää Python-kirjastojen lisäämiseen Python-virtuaaliympäristöön SD Desktop -virtuaalikoneessa. Tämän työkalun voi lisätä virtuaalikoneeseen SD-ohjelmiston asennustyökalulla.

Komennon perussyntaksi on:

add-python-lib search_term 

Komento etsii vastaavia paketteja CSC:n esilataamasta Python-kirjastojen joukosta SD Connectissa. Huomaa, että esiladattu kirjastojoukko on hyvin pieni (joitakin satoja) verrattuna yli 300 000 kirjastoon, jotka ovat saatavilla pipin kautta. Lähetä pyyntö CSC Service Deskille, jos haluat lisätä kirjaston valikoimaan. Huomaa, että kaikki Python-kirjastot eivät ole yhteensopivia tämän lähestymistavan kanssa.

Valittu kirjasto lisätään Python-virtuaaliympäristöön, joka sijaitsee /shared-directory/sd-tools/python3-venv-hakemistossa. Tämä virtuaaliympäristö luodaan automaattisesti, kun add-python-lib -työkalua käytetään ensimmäisen kerran.

SciKit-Optimize-tapauksessa voit tehdä asennuksen komennolla:

add-python-lib scikit 

tai

add-python-lib scikit_optimize 

Huomaa, että hakutermi SciKit-Optimize ei löydä vastaavia kirjastoja, koska hakuprosessi perustuu pipin asennustiedostojen nimiin, jotka käyttävät vain pieniä kirjaimia ja joissa väliviivat (-) korvataan alaviivoilla (_).

Jos käytetty hakutermi vastaa useita Python-kirjastoja, työkalu näyttää sinulle kirjastojen listan, josta voit valita asennettavan kirjaston.

Sen jälkeen työkalu kysyy, tulisiko myös valitun kirjaston riippuvuudet asentaa. Yleensä sinun tulisi yrittää asentaa myös riippuvuudet.

Kun asennus on valmis, voit siirtyä käyttämään Python-virtuaaliympäristöä komennoilla:

source /shared-directory/sd-tools/python3-venv/bin/activate
export PYTHONPATH=/usr/lib/python3/dist-packages:/usr/local/lib/python3.10/dist-packages

Vaihtoehto 2: Moduulin tuonti SD Connectin kautta

1. Asennustiedoston lataaminen SD Desktopille

Ensimmäiseksi on ladattava pipin asennuspakettitiedosto kirjastolle, jota haluat käyttää. Tämä on tehtävä SD Desktopin ulkopuolella. Voit etsiä pakettia Pypi-repositorysta tai käyttää pip download -komentoa, jos sinulla on python3 asennettuna koneellesi (jos mahdollista, käytä Python-versiota, joka vastaa SD Desktopin Python-versiota).

1.1 Pypi-repositorio

SciKit-Optimize-tapauksessa Pypi-repositorion haku antaa sinulle projektiluettelon. SciKit-Optimize on listan ensimmäinen kohde. Voit jatkaa SciKit-Optimize-projektisivulle, jossa download-linkki tarjoaa luettelon ladattavista tiedostoista. Tältä voisimme ladata esikootun kirjastotiedoston (scikit_optimize-0.10.2-py2.py3-none-any.whl).

1.2 pip komentorivillä

Paikallisella koneellasi, luo uusi hakemisto, käytä pip download -komentoa ladataksesi asennustiedostot ja pakkaa sitten tämä hakemisto kuljetusta varten. Käyttäjän asund tapauksessa Linux- tai Mac-koneella SciKit-Optimize-kirjasto voidaan pakata komennoilla:

mkdir scikit-optimize
pip download scikit-optimize -d "/home/asund/scikit-optimize"
tar cvfz scikit-optimize.tgz scikit-optimize

1.3 Lataus

Seuraavaksi sinun tulee ladata asennuspaketti (scikit_optimize-0.10.2-py2.py3-none-any.whl tai scikit-optimize.tgz) yhteen datalokeroistasi SD Connectissa.

2. Kirjaston asentaminen

Kun olet ladannut asennuspaketin SD Connectiin, suoritat asennuksen loput vaiheet SD Desktop -ympäristössäsi.

  1. Avaa pääteistunto ja luo Python-virtuaaliympäristö komennolla (tämä täytyy tehdä vain kerran):

    python3 -m venv $HOME/my-python
    
  2. Aktivoi Python-virtuaaliympäristösi ja lisää oletuskirjastojen sijainti PYTHONPATH-ympäristömuuttujaan: (tämä täytyy tehdä aina, kun aloitat uuden päätelaitteen istunnon)

    source $HOME/my-python/bin/activate
    export PYTHONPATH=/usr/local/lib/python3.10/site-packages
    
  3. Avaa tai päivitä DataGateway-yhteytesi ja kopioi scikit-optimize.tgz paikalliselle levyllesi.

  4. Pura paketti

    tar zxvf scikit-optimize.tgz
    
  5. Siirry uuteen hakemistoon:

    cd scikit-optimize
    
  6. Asenna paketti:

    pip install scikit_optimize-0.9.0-py2.py3-none -any-whl -f ./ --no-index --no-deps
    

Nyt python (osoittaa $HOME/my-python/bin/python) pitäisi sisältää scikit_optimize-kirjaston.