Konference LinuxDays 2026 proběhne již tento víkend 3. a 4. října v Praze v areálu ČVUT v Dejvicích na FIT. Konference LinuxDays 2026 znamená desítky přednášek a workshopů, zástup zajímavých osobností, místo pro setkání, spoustu nových nápadů a informací a stánky řady různých projektů: Fedora, openSUSE, vpsFree.cz, Mozilla, MacGyver - bastlíři SH, OpenAlt a mnoho dalších. Vstup je volný.
Microsoft oznámil, že WSL kontejnery (WSLC) aneb linuxové kontejnery ve Windows Subsystem for Linux (WSL) jsou již obecně dostupné. Současně popsal jejich architekturu.
openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.
Byl vydán Mozilla Firefox 157.0. S nejvýraznější vizuální proměnou za poslední roky. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 157 bude brzy k dispozici také na Flathubu a Snapcraftu.
Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.
Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla
… více »Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a
… více »Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.
Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.
Odkazy
V dnešnom blogu si ukážeme možnosti modulu python-mode pre editor VIM. Jeho pomocou pridáme do editoru VIM možnosti automatickej kontroly zdrojových kódov, lepšiu navigáciu v kóde a dopĺňanie kódu.
Požiadavky pluginu sú relatívne štandardné. Je potrebné mať VIM vo verzii >= 7.0 s podporou pythonu. Okrem skutočne minimalistických inštalácii VIMu by mal fungovať prakticky všade.
Zdrojové kódy modulu sú dostupné github-e. Inštalovať modul je možné buď pomocou pathogenu, alebo manuálne. Používateľom pathogenu hádam nemusím vysvetľovať spôsob inštalácie, pre tých ostatných krátky návod ako pomerne bezbolestne pridať plugin do VIMu bez neporiadku v adresári ~/.vim
.
Zásuvný modul stiahneme príkazom git clone git://github.com/klen/python-mode.git. Následne stačí adresár python-mode presunúť do podadresára ~/.vim/bundle/ (ak neexistuje musí sa vytvoriť) a pridať riadok set runtimepath+=$HOME/.vim/bundle/python-mode/ do ~/.vimrc. Týmto je inštalácia prakticky hotová a pripravená na prípadnú migráciu na pathogen
.
Pri prvom spustení je vhodné vygenerovať tagy z dokumentácie aby VIM vedel korektne vyhľadávať pri zadaní príkazu :help. Tagy sa vygenerujú príkazom :helptags ~/.vim/bundle/python-mode/doc/.
Pri používaní pluginu som narazil na pomerne nepríjemný problém, kvôli ktorému nie je možné do editoru vkladať unicode znaky. Problém sa týka len konzolového editoru (GVIM teda funguje správne). V prípade použitia konzolového VIMu sa dá tento problém odstrániť nahradením riadku locale.setlocale(locale.LC_CTYPE, "C") riadkom locale.setlocale(locale.LC_CTYPE, "en_US.UTF-8") v ~/.vim/bundle/python-mode/pylibs/pymode/lint.py.
Pre dopĺňanie kódu nie je potrebné väčšinou nič nastavovať. Podpora virtuálneho prostredia (virtualenvwrapper) je štandardne zapnutá, stačí len spustiť VIM vo virtuálnom prostredí. Kód sa dopĺňa skratkou <Ctrl-Space>. Plugin nepoužíva štandardné omnicomplete (<Ctrl-x>o resp. <Ctrl-x>u). Medzi nasledujúcim a predchádzajúcim výsledkom sa dá prechádzať štandardnými skratkami <Ctrl-n> a <Ctrl+p>.
Dopĺňanie kódu má na starosti knižnica rope. Nastavenia rope je možné upraviť v adresári .ropeproject/config.py, ktorý sa automaticky vytvoril v podadresári s projektom.
Kontrola kódu prebieha štandardne pri uložení. Kód kontrolujú nástroje pyflakes, pep8, mccabe, pylint a code-checkers. V štandardnom nastavení sa používa len prvá trojica. Nástroje, ktoré kontrolujú kód sa dajú zapnúť / vypnúť nastavením premennej g:pymode_lint_checker v .vimrc. Pomocou nej je možné napríklad úplne vyradiť niektorý z nástrojov na kontrolu kódu (minimálne pep8 je dosť ukecaný a občas vyhadzuje nezmyselné chyby). Nasledujúci kód vo .vimrc vyradí z činnosti pep8:
let g:pymode_lint_checker = "pyflakes,mccabe"
Jednotlivé hlásenia je možné vypínať aj individuálne a to nastavením premennej g:pymode_lint_ignore. Nasledujúci kód potlačí chybu E302 (2 voľné riadky zo definíciou funkcie / triedy) a všetky varovania:
let g:pymode_lint_ignore = "E302,W"
Dokumentácia sa prezerá klávesovou skratkou <Ctrl-c>d. Po jej stlačení sa zobrazí dokumentácia k aktuálnemu symbolu pod kurzorom. Pre dokumentáciu knižníc je stále možné použiť klávesovu skratku <Shift-k>. Krátky popis funkcií sa zobrazuje aj automaticky pri používaní dopĺňania kódu.
Navigácia v kóde nie je o nič zložitejšia než prezeranie dokumentácie. Opäť stačí presunúť kurzor na symbol a klávesovou skratkou <Ctrl-c>g sa presunieme na jeho definíciu. Vyhľadať použitia symbolu je možné klávesovou skratkou <Ctrl-c>f <Enter>.
Hlavným zdrojom informácií o tomto plugine je súbor README.rst. Dokumentácia integrovaná do VIMu bola v čase písania blogu neaktuálna. Ďalšie príkazy sa dajú zistiť príkazom :help ropevim.txt.
Python-mode síce nie je najlepším pluginom na dopĺňanie kódu, prezeranie dokumentácie, kontrolu kódu a mnoho ďalšieho, ale patrí medzi najkompletnejšie moduly (riešenie všetko v jednom). V súčasnosti nie je repozitár na github-e aktívny. V kóde je pomerne veľké množstvo neopravených chýb (týkajú sa hlavne neaktualizovaných knižníc rope a ropevim).
Tiskni
Sdílej:
V podstate doplňovanie je detailnejšie, ale zároveň je u väčších projektov znateľne pomalšie. Rope síce mám tiež menej rád, ale beží pekelne rýchlo. Teoreticky by sa možno dali vybrať črevá zo snaked a napchať do rope pre lepší type hinting.
Pod win som plugin neskúšal, teoreticky tam môže nastať mnoho problémov od nenájdenia cesty ku knižniciam pythonu až po nekompatibilné volania dlopen. V konfigurácii som nič zlé nenašiel, možno niečo rozumné vypíše nasledujúci príkaz:
:call pymode#troubleshooting#Test()