Ero sivun ”Python” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Rivi 102: Rivi 102:
Pythonilla voidaan toteuttaa graafisia käyttöliittymiä useilla eri kirjastoilla.  
Pythonilla voidaan toteuttaa graafisia käyttöliittymiä useilla eri kirjastoilla.  
Linux-ympäristöissä suosituimpia ovat:
Linux-ympäristöissä suosituimpia ovat:
* [[GTK]] (PyGObject) – GNOME-ympäristön käyttämä kirjasto; hyvä valinta  
* [[GTK]] (PyGObject) – GNOME-ympäristön käyttämä kirjasto; hyvä valinta natiivin Linux-sovelluksen rakentamiseen.
  natiivin Linux-sovelluksen rakentamiseen.
* [[Qt]] (PyQt / PySide) – monialustainen ja laaja käyttöliittymäkirjasto, joka soveltuu sekä kevyisiin että vaativiin sovelluksiin.
* [[Qt]] (PyQt / PySide) – monialustainen ja laaja käyttöliittymäkirjasto;
* Tkinter – Pythonin mukana tuleva yksinkertainen käyttöliittymäkirjasto, joka on helppo aloittelijoille ja pieniin työkaluihin.
  soveltuu sekä kevyisiin että vaativiin sovelluksiin.
* customtkinter – Tkinterin modernisoitu versio, joka tarjoaa tumman teeman, nykyaikaiset widgetit ja paremman ulkoasun ilman ulkoisia riippuvuuksia.
* Tkinter – Pythonin mukana tuleva yksinkertainen käyttöliittymäkirjasto;
* Kivy – suunniteltu kosketusnäytöille ja monialustaisiin sovelluksiin (Linux, Windows, Android, iOS).
  helppo aloittelijoille ja pieniin työkaluihin.
* wxPython – natiivikomponentteja hyödyntävä kirjasto, joka toimii hyvin useilla alustoilla.
* customtkinter – Tkinterin modernisoitu versio, joka tarjoaa tumman teeman,  
* Dear PyGui – moderni ja nopea Immediate Mode -käyttöliittymäkirjasto, joka soveltuu erityisesti työkaluohjelmiin ja visualisointeihin.
  nykyaikaiset widgetit ja paremman ulkoasun ilman ulkoisia riippuvuuksia.
* LexGUI (lex) – kevyt ja moderni käyttöliittymäkirjasto, joka tarjoaa yksinkertaisen API:n ja tyylikkään ulkoasun; sopii pieniin työkaluihin ja prototyyppeihin.
* Kivy – suunniteltu kosketusnäytöille ja monialustaisiin sovelluksiin  
* Flet – moderni ja monialustainen käyttöliittymäkirjasto, joka mahdollistaa web-, desktop- ja mobiilisovellusten rakentamisen Pythonilla ilman HTML-, CSS- tai JavaScript-osaamista. Sovellukset käyttävät Flutterin komponentteja, ja ne voidaan ajaa paikallisesti tai palvelimelta käsin.
  (Linux, Windows, Android, iOS).
* wxPython – natiivikomponentteja hyödyntävä kirjasto, joka toimii hyvin  
  useilla alustoilla.
* Dear PyGui – moderni ja nopea Immediate Mode -käyttöliittymäkirjasto,  
  soveltuu erityisesti työkaluohjelmiin ja visualisointeihin.
* LexGUI (lex) – kevyt ja moderni käyttöliittymäkirjasto, joka tarjoaa  
  yksinkertaisen API:n ja tyylikkään ulkoasun; sopii pieniin työkaluihin ja  
  prototyyppeihin.
* Flet – moderni ja monialustainen käyttöliittymäkirjasto, joka mahdollistaa
  web-, desktop- ja mobiilisovellusten rakentamisen Pythonilla ilman
  HTML-, CSS- tai JavaScript-osaamista. Sovellukset käyttävät Flutterin
  komponentteja, ja ne voidaan ajaa paikallisesti tai palvelimelta käsin.


Nämä kirjastot ovat saatavilla useimpien Linux-jakeluiden pakettivarastoista  
Nämä kirjastot ovat saatavilla useimpien Linux-jakeluiden pakettivarastoista  

Versio 8. tammikuuta 2026 kello 12.06

Linux.fi-wikissä artikkelit käsittelevät yleensä aihettaan siltä osin, kuin se koskee Linuxia ja avoimia/vapaita ohjelmistoja. Yleisluontoisemman artikkelin tästä aiheesta löydät tietosanakirja Wikipediasta.
Python

Paradigma oliopohjainen
Tyypitys vahva, staattinen
Evaluointitapa innokas
Suoritusmalli tulkattava
Muistinhallinta automaattinen
Tekijä(t) Python Software Foundation
Kehittäjä(t) Guido van Rossum
Ensijulkaisu 0.9.0 / helmmikuuta 1991
Vakaa versio 3.10.4  / 24. maaliskuuta 2022
Kehitysversio 3.11.0a6  / 7. maaliskuuta 2022
Tyyppi ohjelmointikieli, kehitystyökalut
Lisenssi GPL [1]
Kotisivu python.org
Lähdekoodi github.com/python

Python on korkean tason, tulkattava ja moniparadigmainen ohjelmointikieli, joka soveltuu niin komentoriviskripteihin, automaatioon, palvelinohjelmointiin, tieteelliseen laskentaan kuin graafisiin sovelluksiin. Python on erityisen suosittu Linux-järjestelmissä, ja monet jakelut sisältävät sen valmiiksi.

Pythonin kehitystä johtaa Python Software Foundation ja kielen alkuperäinen kehittäjä on Guido van Rossum.

Ominaisuudet

  • Tulkattava ja dynaamisesti tyypitetty
  • Moniparadigmainen (olio-, funktio- ja proseduraalinen ohjelmointi)
  • Laaja standardikirjasto
  • Selkeä syntaksi ja luettavuus
  • Laajennettavissa tuhansilla lisäkirjastoilla (PyPI)
  • Erinomainen tuki Linux-ympäristöissä

Python Linuxissa

Asennus

Useimmissa Linux-jakeluissa Python 3 on valmiina. Tarvittaessa sen voi asentaa:

Debian/Ubuntu

sudo apt install python3 python3-pip

Fedora

sudo dnf install python3 python3-pip

Arch Linux

sudo pacman -S python python-pip

Python-tulkin käyttö

Interaktiivinen tulkki:

python3
>>> print("Hei Linux.fi!")

Python-tiedoston suorittaminen:

#!/usr/bin/env python3
print("Hei!")

Ohjelmalle on annettava suoritusoikeudet.

chmod +x ohjelma.py
./ohjelma.py

Standardikirjasto

Pythonin mukana tulee laaja valikoima moduuleita. Hyödyllisiä Linux-käytössä:

  • os – käyttöjärjestelmätoiminnot
  • sys – tulkin asetukset ja argumentit
  • pathlib – tiedostopolut oliopohjaisesti
  • subprocess – ulkoisten komentojen suorittaminen
  • json – JSON-tiedostojen käsittely
  • argparse – komentoriviparametrit
  • logging – lokitus
  • venv – virtuaaliympäristöt

Suositut lisäkirjastot

  • requests – HTTP-kyselyt
  • numpy, scipy – numeerinen laskenta
  • pandas – taulukkomuotoinen data
  • matplotlib, seaborn – visualisointi
  • pytest – testaus
  • pygame – peliohjelmointi
  • PyQt, GTK (PyGObject) – graafiset käyttöliittymät
  • pytorch, tensorflow – koneoppiminen

Suositut graafiset käyttöliittymät

Pythonilla voidaan toteuttaa graafisia käyttöliittymiä useilla eri kirjastoilla. Linux-ympäristöissä suosituimpia ovat:

  • GTK (PyGObject) – GNOME-ympäristön käyttämä kirjasto; hyvä valinta natiivin Linux-sovelluksen rakentamiseen.
  • Qt (PyQt / PySide) – monialustainen ja laaja käyttöliittymäkirjasto, joka soveltuu sekä kevyisiin että vaativiin sovelluksiin.
  • Tkinter – Pythonin mukana tuleva yksinkertainen käyttöliittymäkirjasto, joka on helppo aloittelijoille ja pieniin työkaluihin.
  • customtkinter – Tkinterin modernisoitu versio, joka tarjoaa tumman teeman, nykyaikaiset widgetit ja paremman ulkoasun ilman ulkoisia riippuvuuksia.
  • Kivy – suunniteltu kosketusnäytöille ja monialustaisiin sovelluksiin (Linux, Windows, Android, iOS).
  • wxPython – natiivikomponentteja hyödyntävä kirjasto, joka toimii hyvin useilla alustoilla.
  • Dear PyGui – moderni ja nopea Immediate Mode -käyttöliittymäkirjasto, joka soveltuu erityisesti työkaluohjelmiin ja visualisointeihin.
  • LexGUI (lex) – kevyt ja moderni käyttöliittymäkirjasto, joka tarjoaa yksinkertaisen API:n ja tyylikkään ulkoasun; sopii pieniin työkaluihin ja prototyyppeihin.
  • Flet – moderni ja monialustainen käyttöliittymäkirjasto, joka mahdollistaa web-, desktop- ja mobiilisovellusten rakentamisen Pythonilla ilman HTML-, CSS- tai JavaScript-osaamista. Sovellukset käyttävät Flutterin komponentteja, ja ne voidaan ajaa paikallisesti tai palvelimelta käsin.

Nämä kirjastot ovat saatavilla useimpien Linux-jakeluiden pakettivarastoista tai Pythonin pakettivarastosta (PyPI).

Virtuaaliympäristön luominen ja käyttö

Virtuaaliympäristö (virtual environment, venv) on Pythonin työkalu, jolla projektikohtaiset kirjastot ja riippuvuudet voidaan eristää muusta järjestelmästä. Tämä on erityisen tärkeää Linux-järjestelmissä, joissa jakelun omat Python-paketit voivat olla eri versioisia kuin kehityksessä tarvittavat.

Virtuaaliympäristöjen käyttö on suositeltavaa, koska: Projektit pysyvät erillään toisistaan – eri projektit voivat käyttää eri versioita samoista kirjastoista ilman ristiriitoja.

  • Järjestelmän Python pysyy puhtaana – järjestelmän omia työkaluja (esim. paketinhallinta) ei rikota asentamalla globaaleja paketteja.
  • Toistettavuus paranee – projektin riippuvuudet voidaan määritellä tarkasti (esim. requirements.txt), mikä helpottaa kehitystä ja julkaisemista.
  • Turvallisuus paranee – eristetty ympäristö vähentää riskiä, että kolmannen osapuolen kirjastot vaikuttaisivat järjestelmätasoisiin komentoihin tai palveluihin.

Virtuaaliympäristö luodaan komennolla::

python3 -m venv venv

Tämä luo hakemiston venv, joka sisältää projektikohtaisen Python-tulkin ja kirjastot. Virtuaaliympäristö otetaan käyttöön aina ennen projektin komentoja:

source venv/bin/activate

Kun ympäristö on aktivoitu, komentorivin alkuun ilmestyy yleensä ympäristön nimi (esimerkiksi (venv)), ja kaikki pip-asennukset kohdistuvat vain tähän ympäristöön.

Virtuaaliympäristö poistetaan käytöstä komennolla:

deactivate

Virtuaaliympäristö kannattaa pitää versionhallinnan ulkopuolella, koska se sisältää paljon automaattisesti generoituja tiedostoja ja riippuvuuksia, jotka voidaan uudelleen luoda tarpeen mukaan. Ympäristön hakemisto (esimerkiksi venv) lisätään yleensä versionhallinnan ohituksiin, kuten .gitignore-tiedostoon.

Esimmerkki .gitignore-tiedostosta.

venv/
__pycache__/

Python Linux-järjestelmätyökaluissa

Pythonia käytetään laajasti Linux-työkaluissa ja infrastruktuurissa, kuten:

  • Ansible
  • Useat jakelujen paketinhallintaskriptit
  • GNOME- ja KDE-projektien apuohjelmat
  • Järjestelmänhallinnan komentorivityökalut

Kehitystyökalut

Katso myös

Aiheesta muualla

v  k  m
Ohjelmointikielet
 Käännettävät  Assembly | C | C++ | Go | Haxe | Haskell | Java | Pascal
 Tulkattavat  Python | Perl | PHP | Ruby
 -skriptikielet  Lua | Bash
 GPGPU  OpenCL
 muut  GLSL