Kirjoittaja Aihe: Python-pakettien päivitys?  (Luettu 2686 kertaa)

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Python-pakettien päivitys?
« : 11.01.23 - klo:10.01 »
Olen asentanut pythonin ja pip-komennon vain yle-dl:n takia, enkä ole koskaan käyttänyt pythonia ohjelmointiin.

Tajusin juuri, että olen päivttänyt vain yle-dl:n, silloin tällöin, mutta en ole tarkistanut pitäisikö jotain muutakin päivittää, silloin tällöin. Yritin ottaa selvää miten se tehtäisiin, ja erinäisillä nettisivuilla seikkailtuani päädyin tällaiseen bash-koodiin:

Koodia: [Valitse]
pip_upgrade(){
    for file in ~/.cache/python-modules$1-$$
    do
        pip freeze $1 | sed 's/==/>=/' > $file
        pip install $1 -r $file --upgrade
        rm -f $file
    done
}
pip_upgrade --user
pip_upgrade

Onko tässä jotain ihan pielessä? Entä jotain minkä voisi tehdä fiksummin? Ajaisin sen noin viikon välein.

(Tuo "for muuttuja in yksiAinoaAlkio" on vain tapa strukturoida koodia; älä anna sen hämätä.)

nm

  • Käyttäjä
  • Viestejä: 16425
    • Profiili
Vs: Python-pakettien päivitys?
« Vastaus #1 : 11.01.23 - klo:10.16 »
Olen asentanut pythonin ja pip-komennon vain yle-dl:n takia, enkä ole koskaan käyttänyt pythonia ohjelmointiin.

Tajusin juuri, että olen päivttänyt vain yle-dl:n, silloin tällöin, mutta en ole tarkistanut pitäisikö jotain muutakin päivittää, silloin tällöin.

Jos yle-dl on ainoa pipillä asentamasi sovellus, ”pip install --upgrade yle-dl” päivittää sen riippuvuudet automaattisesti vaadittuihin versioihin. Jos haluat lisäksi päivittää riippuvuudet uusimpiin yle-dl:n kanssa yhteensopiviin versioihin, se onnistuu pip installin valitsimella --upgrade-strategy eager

Koodia: [Valitse]
pip install --user --upgrade --upgrade-strategy eager yle-dl
« Viimeksi muokattu: 11.01.23 - klo:10.22 kirjoittanut nm »

mniem

  • Käyttäjä
  • Viestejä: 51
    • Profiili
Vs: Python-pakettien päivitys?
« Vastaus #2 : 11.01.23 - klo:10.19 »
Onnistunee aika kivuttomasti näillä kahdella loitsulla:
Koodia: [Valitse]
python3 -m pip install --upgrade pip
python3 -m pip install yle-dl
Ymmärtääkseni pip suorittaa ohjelmiston (yle-dl) päivityksen, mikäli uusi versio on saatavilla.

Jos oikea versio on tiedossa, niin voi käyttää myös komentoa:
Koodia: [Valitse]
python3 -m pip install yle-dl==<versio_id>
« Viimeksi muokattu: 11.01.23 - klo:10.23 kirjoittanut mniem »

AimoE

  • Käyttäjä
  • Viestejä: 2782
    • Profiili
Vs: Python-pakettien päivitys?
« Vastaus #3 : 11.01.23 - klo:11.31 »

Jos yle-dl on ainoa pipillä asentamasi sovellus, ”pip install --upgrade yle-dl” päivittää sen riippuvuudet automaattisesti vaadittuihin versioihin. Jos haluat lisäksi päivittää riippuvuudet uusimpiin yle-dl:n kanssa yhteensopiviin versioihin, se onnistuu pip installin valitsimella --upgrade-strategy eager

Koodia: [Valitse]
pip install --user --upgrade --upgrade-strategy eager yle-dl

Aha, tein virheen kun jätin sanomatta että olen aikeissa asentaa toisenkin pikku työkalun (en tiedä vielä minkä valitsen) ja aloin mietiä miten nämä ilman apt:a asennettavat saa pysymään järjestyksessä. Snapin olen sentään jo poistanut.

Vaikuttaa siltä, että paras tapa olisi kuitenkin se, että minulla on luettelo niistä pip-palikoista, jotka olen itse asentanut, ja ajan päivityksen juuri niille. Olisin halunnut välttyä kovakoodaukselta, mutta eihän noita palikoita tosiaan montaa ole, ainakaan toistaiseksi.