ProHoster > Blog > Uprava > Vzpostavljanje prijateljstva med Pythonom in Bashom: Izdaja knjižnic python-shell in smart-env v. 1.0.1
Vzpostavljanje prijateljstva med Pythonom in Bashom: Izdaja knjižnic python-shell in smart-env v. 1.0.1
Dober dan vsem!
Februar 29 2020 let uradna mikro izdaja knjižnic smart-env и python-shell. Tisti, ki se ne spoznate, predlagam, da si ga najprej preberete prva objava.
Skratka, spremembe vključujejo dokončanje ukazov, razširjene zmogljivosti za izvajanje ukazov, nekaj refaktoriranja in popravke napak.
Za podrobnosti glejte kat.
Kaj je novega v lupini python?
Takoj začnem s sladico.
Zaključek ukaza
Se strinjate - priročno je, ko vas urejevalnik/IDE/terminal pozove k imenu ukaza in včasih celo k klicnim parametrom? Python-shell torej postopoma napreduje pri zagotavljanju podobne funkcionalnosti. Zaradi dejstva, da polja razreda Shell pod pokrovom de facto niso njegova polja (vseprisotni __getattr__), je bilo tudi samodejno dokončanje ustvarjeno iz nič (s preobremenitvijo metode __dir__). Samodokončanje trenutno deluje v okoljih BPython in IPython. Seveda bi si želel integracije z bolj častitljivimi izdelki, kot je PyCharm, in v tej smeri se preučujejo možnosti implementacije.
Dodajanje lastnosti
Kot del izdaje je razred Shell prejel novo lastnost last_command. Potreba po njem se je pojavila, ker ko je ukaz ShellException vrgel ukaz z neničelno povratno kodo, objekt Command ni bil vrnjen iz klica __call__() v ukazni objekt. Zdaj obstaja priložnost, da to storite:
Implementirani sta bili metodi __repr__() in __str__() predmeta razreda Command, ki zdaj proizvajata intuitivne vrednosti (ukaz s parametri oziroma njegov izhod stdout).
Manjši popravki kode.
Dodajanje testne pokritosti in reorganizacija obstoječih.
Dodajanje razredov Subprocess in Process, katerih namen je ustvariti dodatno raven abstrakcije pri delu z modulom subprocess. Večinoma je potreben za odpravo podvajanja kode pri delu s Python 2/3, vendar lahko potencialno zagotovi tudi druge bonuse.
Kaj je novega v smart-env?
Za razliko od python-shell je bilo v knjižnici smart-env manj sprememb. Razlog za to je preprost - pomanjkanje prostega časa, med katerim so bile nekatere potencialne izboljšave (na primer samodokončanje spremenljivk okolja) prestavljene v naslednjo izdajo.
Pravzaprav so bile v knjižnici narejene naslednje spremembe:
Manjši popravki kode.
Refactoring.
Reorganizacija in izboljšava obstoječih testov.
Načrti za naslednje izdaje
knjižnica python-shell
Dodajanje podpore za klice ukazov brez blokiranja (paralelizacija izvajanja).
knjižnica smart-env
Implementacija samodokončanja spremenljivk okolja v razredu ENV.
Podpora za operator in za preverjanje obstoja spremenljivke env.
Implementacija podpore za funkciji str() in repr() za razred ENV.
Datumi naslednjih objav bodo dodatno objavljeni v naslednjih komunikacijskih kanalih: