V nadaljevanju predmeta bomo večinoma počeli stvari, za katere bomo potrebovali Qt.

Namestitev v PyCharmu

Če uporabljate PyCharm, bi moralo iti tako: odprite nastavitve (Settings na MS Windows, Preferences na macOS), poiščite Project Interpreter in kliknite ikono + pod seznamom paketov, ki pri vas v tem trenutku najbrž vsebuje samo pip in setuptools.

Pokazal se bo iskalnik paketov. Vtipkajte PyQt5, ga izberite in pritisnite Install na dnu okna. Ko se vrnete v nastavitve, bi moral biti na seznamu paketov tudi PyQt5 (pa še PyQt5-sip bo, najbrž).

Namestitev iz terminala

Druga možnost je, da odprete ukazno lupino (shell, cmd, terminal) in vtipkate pip3 install pyqt5. (Če imate MS Windows in to ne deluje, poskusite c:\python39\scripts\pip3 install pyqt5.)

PyCharm v bistvu naredi točno isto.

Tole bo delovalo le, če imate en sam Python in če s PyCharmom niste naredili navideznega okolja za Python, oziroma če navidezno okolje deduje pakete iz globalnega. Kar hočem povedati, je: če ste doslej zaupali PyCharmu, tudi PyQt5 namestite z njim. Če hočete vedeti, kaj se dogaja in če ste že doslej vedeli, kaj se dogaja (kar seveda podpiram), nameščajte ročno.

Tole poskusite čimprej in ne šele pol ure pred rokom za oddajo domače naloge.

Ko vam uspe, napišite "program", v katerem piše samo

from PyQt5 import QtGui

in ga poženite. Narediti ne sme ničesar. Se pravi, ne sme javiti napake, da PyQt ne obstaja ali pa, da, recimo, nima kakšnega DLL-ja.

Če to ne deluje - recimo, če potoži, da nimate prevajalnika za C++ (npr. kaj v zvezi z Microsoft Visual Studio, na Windowsih), poskusite raje s Condo. Namestite minicondo (https://docs.conda.io/en/latest/miniconda.html#windows-installers). Potem pa odprite konzolo/terminal/ukazni pozivnik/prompt/shell/lupino/cmd/command in vtipkajte conda install pyqt (pazite, tu je pyqt in ne pyqt5, kot v pip-u).

Nameščevalniki in navidezna okolja

Če boste resno uporabljali Python - in zna biti, da ga boste - boste delali na različnih projektih. Ali pa vsaj pri različnih predmetih. Pri tem boste morali nameščati različne dodatne knjižnice. Pri tem je prikladno, če ne nameščate vseh knjižnic na nivoju sistema, temveč si delate ločena okolja za različne projekte. Sam imam tako, recimo, okolje prog, kjer imam nameščene vse knjižnice, ki jih potrebujem za predavanja; okolje o3, kjer so knjižnice, povezane s projektom Orange, pri katerem sodelujem; okolje baycomp za nek drug projekt in tako naprej.

Ko nekega okolja ne potrebuješ več, ga preprosto pobrišeš in z njim izginejo vse tam nameščene knjižnice. Navidezna okolja ti tudi olajšajo življenje, če imaš na svojem računalniku več različic Pythona - jaz imam na vsaj 2.7, 3.6, 3.7 in 3.8, 3.9, pa se nič ne kregajo.

Ideja okolij je tudi v tem, da lahko mirno eksperimentiraš z moduli, ne da bi si sčasoma nasmetil računalnik s sto moduli, ki si jih potreboval za dvajset projektov. Če pa potrebuješ isti modul v več okoljih, ga pač namestiš v več okoljih.

Vsak spodoben jezik ima "package manager" za nameščanje dodatnih knjižnic. Python je imel pip, zdaj pa večina uporablja condo (conda).

Condo si je za začetek potrebno namestiti. Ko je to opravljeno, sestavimo novo okolje. Recimo, da ga bomo poimenovali prog1. V ukazni lupini napišemo

conda create -n prog1

Preklopimo v to okolje

activate prog1

Na kakšnem bolj zateženem linuxu je morda potrebno spredaj dodati piko, . activate prog1.

Zdaj vanj namestimo vse, kar potrebujemo. To bo, najbrž, nek Python, poleg tega pa, recimo PyQt5.

conda install python=3.9 pyqt

Pri pythonu smo eksplicitno zahtevali različico 3.9. Lahko bi si zaželeli tudi kakšno starejšo, sicer pa conda vedno namesti najnovejšo stabilno različico.

Če si pojutrišnjem izmislimo, da bi potrebovali tudi knjižnico za branje datotek v Excelu, napišemo

conda install xlrd

Bistvo okolij je v tem, da jih je lahko več. Izstopimo iz tega okolja in sestavimo novo. Takole sestavimo novo okolje test in vanj že kar takoj namestimo nek star Python - ker bi morda radi poskušali nekaj z njim.

. deactivate
conda create -n test python=3.9

(Mislim, da na Windows pred deactivate ne pišemo pike, preskusil pa nisem.)

Težave?

Če ima kdo s tem težave, lahko pogledava med pavzo ali po predavanjih ali po mailu.

Ultime modifiche: domenica, 2 maggio 2021, 16:22