Vyhledávání na webu

Přestaňte bojovat s Windows, abyste se naučili Python: Proč WSL mění všechno


S popularitou „vibe codingu“ se můžete divit, o co vlastně jde při programování. Python je populární jazyk pro začátečníky, ale pokud používáte Windows, zde je důvod, proč je lepší se učit Python ve WSL.

Bolestivé body Pythonu na Windows

Je to linuxový svět, pokud jde o programování, i v Pythonu

Hlavní problém při učení Pythonu na Windows se zdá být spíše rozdíl mezi Windows a Linuxem než samotný Python. Většina tutoriálů na Python, dokonce i ten oficiální, se zdá předpokládat, že uživatelé používají prostředí podobné Unixu.

Pokud jste v programování nováček, nemusí se zdát, že by mezi oběma existoval významný rozdíl, ale kromě rozdílů v rozhraní je pod kapotou toho mnohem víc. Většina lidí používá grafické programy ve Windows. I když pod Linuxem existují, většina zkušených uživatelů pravidelně používá alespoň některé textové programy. Pro programování jsou prakticky nezbytné. Patří sem interpretr Pythonu a editor jako Vim, alespoň v minimální podobě.

Dalším problémem, který mate nové uživatele, je to, že zacházejí s úložištěm odlišně. Windows ukládá soubory na různé disky označené písmeny (konvence „půjčená“ z CP/M). Linux ukládá soubory do velkého adresářového stromu, který může zasahovat přes různá úložná zařízení.

Všechny tyto věci ztěžují sledování návodů. Pokud jste se rozhodli učit Python, nechcete trávit čas mentálním převáděním cest jako "C:\Windows\System32" a "/usr/bin/python", když se snažíte naučit spouštět skripty.

Pokud někomu dáte skript a on ho spustí na systému, který není Windows, často se mu zobrazí chybová zpráva, pravděpodobně kvůli problému s adresáři. Windows a Linux dokonce interpretují zakončení řádků v textových souborech odlišně, takže textové soubory mohou vypadat jinak. Ještě horší je, že skripty mohou zobrazovat chybové zprávy, protože interpretr Pythonu si myslí, že řádky nejsou správně ukončeny. I když existují nástroje pro konverzi souborů tam a zpět, může být otravné je neustále používat.

Používání knihoven také rozšíří možnosti, co můžete s Pythonem dělat, ale mnoho z nich je také vyvíjeno s předpokladem, že poběží na systémech Linux. Při jejich instalaci na Windows se můžete setkat s chybami.

Učení Pythonu na Linuxu vám půjde mnohem snadněji. Budete moci sledovat návody a instalovat knihovny. Pokud používáte Windows, může být lepší volbou WSL.

Co je WSL?

Přinášení Linuxu na Windows

Pokud používáte Windows, můžete se divit, jestli musíte úplně přejít na Linux, abyste se naučili Python. WSL, neboli Windows Subsystem for Linux, byl vyvinut k řešení těchto druhů problémů.

S přesunem vývoje na webové a mobilní aplikace byl back end založen na Linuxu. Vývojáři začali používat Linux a macOS, aby měli vývojová a testovací prostředí podobná serverům. To znamenalo nevytvářet vývoj na Windows počítačích. Nástroje pro vývoj od Microsoftu byly zaměřeny na podnikový vývoj, spíše než na agilní vývoj s menšími nástroji, který programátoři stále více preferovali. WSL byl vyvinut pro spouštění Linuxových programů na Windows.

WSL byla původně pouze kompatibilní vrstva. Překládala linuxové „systémové volání“ neboli žádosti o služby jádra Linuxu na taková, která odpovídala nativním Windows službám. Druhá verze, neboli „WSL2“, má plné jádro Linuxu, které běží linuxové služby. Díky tomu funguje mnohem rychleji a spolehlivěji, například pro síťové služby. WSL2 také spouští grafické linuxové aplikace. Ty mohou zahrnovat grafické editory, jako je Emacs nebo Pythonovo IDE IDLE. Hlavně to používám k zobrazování grafů ze Seaborn a pandas při analýze dat.

Proč WSL pro učení Pythonu?

Bližší prostředí

Výhoda použití WSL pro učení Pythonu se zdá být zřejmá. Pokud nejste obeznámeni s Linuxem nebo jinými systémy podobnými Unixu, budete se i tak muset naučit linuxový příkazový řádek pro vážné programování, ale museli byste to udělat s WSL nebo bez něj. Místo toho, abyste se museli učit nové pracovní prostředí, budete mít prostředí, které je vám bližší.

Příkazy Linuxu mohou působit zastrašujícím dojmem, zejména pokud jste nikdy nepoužívali příkazový řádek, ale pokud to s programováním myslíte alespoň trochu vážně, budete se je stejně muset naučit.

Líbí se mi také, jak snadné je přistupovat k souborům a programům z linuxové i windowsové části systému pomocí WSL.

Budete schopni sledovat další návody, aniž byste museli tolik upravovat pro Windows. Pokud uvidíte adresář nebo příkaz shellu, budete jej schopni spustit, aniž byste jej museli upravovat. Pokud vyzkoušíte desktopový systém Linux, můžete použít stejné nástroje, které jste se naučili na straně Linuxu vašeho systému.

I když byste se museli efektivně naučit nový operační systém, zjistíte, že se to úsilí vyplatilo.

Praktické problémy, které WSL řeší

Není třeba překládat mezi systémy

S WSL budete schopni snadno instalovat populární knihovny v Pythonu. I když je můžete instalovat přímo pomocí pip nebo pipx, pravděpodobně budete chtít něco jako virtualenv. Pro svou statistickou práci jsem zpočátku preferoval mambu, ale frustrovalo mě její pomalé aktualizování, takže jsem přešel na Pixi. Tyto nástroje nabízejí izolovaná prostředí, takže si můžete nainstalovat nástroje, které potřebujete pro každý projekt.

Když budete vyměňovat skripty s ostatními uživateli, budou fungovat většinou bez problémů. Je to proto, že adresářové cesty jsou stejné, stejně jako konce řádků.


To nejlepší z obou světů

S WSL a Pythonem budete mít jeden z nejsnáze se učících jazyků a zároveň známější pracovní prostředí na počítači. Budete moci přistupovat k výkonným nástrojům, aniž byste museli restartovat nebo dělit svůj SSD disk.

Související články