A Python egy általános célú, nagyon magas szintű programozási nyelv, melyet Guido van Rossum holland programozó kezdett el fejleszteni 1989 végén, majd hozott nyilvánosságra 1991-ben. A nyelv tervezési filozófiája az olvashatóságot és a programozói munka megkönnyítését helyezi előtérbe a futási sebességgel szemben.
A Python többek között a funkcionális, az objektumorientált, az imperatív és a procedurális programozási paradigmákat támogatja. Dinamikus típusokat és automatikus memóriakezelést használ, ilyen szempontból hasonlít a Scheme, Perl és Ruby nyelvekhez, emellett szigorú típusrendszerrel rendelkezik.
A Python úgynevezett interpreteres nyelv, ami azt jelenti, hogy nincs különválasztva a forrás- és tárgykód, a megírt program máris futtatható, ha rendelkezünk a Python értelmezővel. A Python értelmezőt számos géptípusra és operációs rendszerre elkészítették, továbbá számtalan kiegészítő könyvtár készült hozzá, így rendkívül széles körben használhatóvá vált.
Forrás: https://hu.wikipedia.org/wiki/Python_(programoz%C3%A1si_nyelv)
A teszteléshez a Linux Mint 20 Ulyana rendszert használtam.
A tükrökről származó, a rendszerre telepített és telepíthető alkalmazások megoldják azt, hogy megtalálják a működésükhöz szükséges Python 2-es vagy 3-as verzióit. Egyes alkalmazások a python szimbolikus linket keresik, amely az Ubuntu 18.04-es és a későbbi kiadásaiban már nincs használatban. A jelenség a Linux Mint 19.x és a Linux Mint 20.x kiadásokat érinti.
A python interpreter beállítására akkor van szükség, ha az alkalmazás (példa: PyCharm) a Python interpretert python néven keresi, és ezt az alapértelmezett beállítást az alkalmazásban nem lehetséges a python2 vagy a python3 kifejezésre megváltoztatni. Kijelenthető, hogy általában véve nem kell foglalkozni ezzel a történettel.
Fórum bejegyzés (python):
Since Ubuntu 18.04, python isn't installed by default. Only if you have no package which actually depends on Python 2, you can change the symlinks or on 20.04+ installations, install python-is-python3 which would automatically do that. But if you have some applications dependent on Python2, consider changing the shebang of the script to invoke Python 3 as the interpreter.
Forrás: https://askubuntu.com/questions/1037666/youtube-dl-python-not-found-18-04
A python parancs (szimbólikus link, script vagy bináris) létezésének ellenőrzése (terminálban):
which python
... a parancssor futtatása (Enter) után visszatér a készenléti jelzés, a prompt, azaz nincs találat.
A python2 és a python3 parancsokat a rendszer ismeri:
which python2 /usr/bin/python2
which python3 /usr/bin/python3
A python2 és a python3 szimbolikus linkek (symlink), melyek a telepített Python binárisra mutatnak. Íme:
ls -la /usr/bin/python2 lrwxrwxrwx 1 root root 9 júl 11 19:14 /usr/bin/python2 -> python2.7
ls -la /usr/bin/python3 lrwxrwxrwx 1 root root 9 júl 11 19:14 /usr/bin/python3 -> python3.8
A javaslat (Kulfy/askubuntu) az, ha az alapértelmezett Python interpreternek szeretnéd a Python 3-as verzióját, akkor telepítsd a python-is-python3 alkalmazást, amely létrehozza a python interpretert, amelyet a rendszer is elfogad. Hozzáteszem, ha a Python 2-es verzióját szeretnéd alapértelmezett interpreternek, akkor a python-is-python2 alkalmazást telepítsd. Egyszerre nem telepítheted mindkettőt, mert értelemszerűen ütköznek egymással.
A javasolt módszer
Olvasd végig a bejegyzést, mert ennél jóval kényelmesebb megoldás is létezik...
Python 3 beállítása:
sudo apt-get install python-is-python3
Python 2 beállítása:
sudo apt-get install python-is-python2
... a telepítés után létrejön a rendszerbe épülő, python szimbolikus link (vagy valami hasonló, de ennek nem jártam utána). Esetenként egy-egy alkalmazás kifejezetten ezt keresi és nem a python2 vagy a python3 szimbolikus linkeket, viszont ezek egyikére mutat.
No, de mi van akkor, ha nem szeretném állandóan telepíteni ezt vagy azt a Python interpretert beállító alkalmazást?
A megoldás olyan szimbolikus link használata, amit te készítesz el...
Python interpreter beállítása, változtatása
Hozd létre a python szimbolikus linket az /usr/local/bin/ útvonalon.
Ha váltanál a Python verziók között, akkor törölni kell a hivatkozást (szimbolikus link), majd beállítani a másik Python verziót.
Python 2
-- ha létezik a szimbolikus link, akkor töröld,
sudo rm -f /usr/local/bin/python
-- vagy szüntesd meg a linkelését:
sudo unlink /usr/local/bin/python
-- hozd létre a szimbolikus linket:
sudo ln -s /usr/bin/python2 /usr/local/bin/python
Python 3
-- ha létezik a szimbolikus link, akkor töröld,
sudo rm -f /usr/local/bin/python
-- vagy szüntesd meg a linkelését:
sudo unlink /usr/local/bin/python
-- hozd létre a szimbolikus linket:
sudo ln -s /usr/bin/python3 /usr/local/bin/python
Enjoy :-)
Python
A Linux Mint 20 Ulyana kiadáson alapértelmezetten telepített Python csomagok (a legfontosabbakra keresve):
apt-cache policy python2 python3 python-minimal python3-minimal python2: Telepítve: 2.7.17-2ubuntu4 Jelölt: 2.7.17-2ubuntu4 Verziótáblázat: *** 2.7.17-2ubuntu4 500 500 http://ftp.energotel.sk/pub/linux/ubuntu focal/universe amd64 Packages 100 /var/lib/dpkg/status python3: Telepítve: 3.8.2-0ubuntu2 Jelölt: 3.8.2-0ubuntu2 Verziótáblázat: *** 3.8.2-0ubuntu2 500 500 http://ftp.energotel.sk/pub/linux/ubuntu focal/main amd64 Packages 100 /var/lib/dpkg/status 3.6.7-1~18.04 500 500 http://sk.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages 3.6.5-3 500 500 http://sk.archive.ubuntu.com/ubuntu bionic/main amd64 Packages python-minimal: Telepítve: (nincs) Jelölt: 2.7.15~rc1-1 Verziótáblázat: 2.7.15~rc1-1 500 500 http://sk.archive.ubuntu.com/ubuntu bionic/main amd64 Packages python3-minimal: Telepítve: 3.8.2-0ubuntu2 Jelölt: 3.8.2-0ubuntu2 Verziótáblázat: *** 3.8.2-0ubuntu2 500 500 http://ftp.energotel.sk/pub/linux/ubuntu focal/main amd64 Packages 100 /var/lib/dpkg/status 3.6.7-1~18.04 500 500 http://sk.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages 3.6.5-3 500 500 http://sk.archive.ubuntu.com/ubuntu bionic/main amd64 Packages
Python modulok
A Python modulok telepítése akár a python paranccsal (verziószám nélkül futtatva) kivitelezhető. Itt visszatérek a bevezetőben olvasható információhoz, hogy a Linux Mint 19.x és a Linux Mint 20.x kiadásoknál ez tapasztalható:
python bash: python: parancs nem található
... elolvastad a bevezetőt, megismerted az előzményeket.
A python parancs sikeres futtatásához létre kell hoznod a korábban említett szimbolikus linket.
A szimbolikus link létrehozása után a python parancs futtatása az a Python verziót indítja, amelyikhez létrehoztad a hivatkozást.
Értelemszerűen ahhoz a Python verzióhoz importálod a modulokat, amelyiket elindítottad, vagyis amelyre a python hivatkozás mutat.
A Tkinter Python modul importálása
Példa egy modul importálására...
Python 2
Állítsd be a Python 2-es verziót a python hivatkozáshoz (a módszert fentebb ismertettem).
Telepítsd a modult tartalmazó alkalmazást:
sudo apt-get install python-tk
Indítsd el a Pythont:
python
Importáld a modult:
import Tkinter
Lépj ki a Python alkalmazásból:
Ctrl + D
Teszt:
python -m Tkinter
Python 3
Állítsd be a Python 2-es verziót a python hivatkozáshoz (a módszert fentebb ismertettem).
Telepítsd a modult tartalmazó alkalmazást:
sudo apt-get install python3-tk
Indítsd el a Pythont:
python
Importáld a modult:
import tkinter
Lépj ki a Python alkalmazásból:
Ctrl + D
Teszt:
python -m tkinter
Vedd figyelembe az importálásnál és a tesztelésnél is, hogy a Python 2 a modulok nevénél nagy (Tkinter), a Python 3 kis kezdőbetűt (tkinter) használ.
Python Package Installer (pip)
A modulok telepítéséhez használható a pip (Python Package Installer) alkalmazás is.
Dokumentáció: https://pip.pypa.io/en/stable/
Python PPA (tükör)
A Python különböző verziói külső tükör, PPA használatával telepíthetőek.
A PPA: https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa
“deadsnakes” team - New Python Versions
Csak akkor vedd fel a PPA-t, ha tudod, milyen célra kell és azt hogyan fogod kivitelezni!
A rendszer alapértelmezett tükreiről elérhető Python verziók kiválóan alkalmasak a mindennapos használatra.
Használat
Vedd fel a tükröt a szoftverforrások listájába:
sudo add-apt-repository ppa:deadsnakes/ppa
Alkalmazd a változtatást:
sudo apt-get update
A Python verziók telepítéséhez használd valamelyik csomagkezelőt a terminálban (példa: sudo apt-get install python3.5) vagy grafikusan (példa: Synaptic).