W poprzednim wpisie poznałeś sposób na niemalże dowolne edytowanie i wykonywanie kodu Pythona np. w projekcie uczenia maszynowego. A co jeśli już zakończyłeś fazę eksperymentowania i chciałbyś ze swoim kodem zmierzać w stronę produkcji? Notatniki Jupyter są fajne, jak się je ma uruchomione, ale na dysku są zapisywane w formie JSON, a poza tym niekoniecznie chcemy tam też mieć wyniki poszczególnych komórek. Innymi słowy, chcemy powrócić do bardziej klasycznego edytora kodu. W takim wypadku ja polecam Visual Studio Code.
Visual Studio Code
Visual Studio Code (zwany dalej przeze mnie VS Code) to stosunkowo młody edytor. Został opublikowany w kwietniu 2015 roku. Ale od tamtej pory udało mu się już opanować około 50.7% rynku edytorów programistycznych. Stało się tak dlatego, że VS Code ma bardzo dużo przydatnych cech:
- Wspiera debugowanie.
- Integruje się z Gitem.
- Posiada podświetlanie składni.
- Posiada dopełnianie kodu.
- Wspiera refaktoryzację.
Oprócz tych wbudowanych cech edytor ten posiada dostęp do repozytorium darmowych wtyczek, które rozszerzają jego możliwości w praktycznie nieograniczony sposób.
Po co?
No okej, edytor ten ma fajne cechy, ale czy naprawdę są mi one potrzebne? Wyobraź sobie następujący scenariusz: Przychodzisz do nowej pracy. Firma, w której zaczynasz, pracuje już nad dużym projektem, który już jest wdrożony. Pobierasz więc kod produktu z repozytorium na dysk i uruchamiasz VS Code. Od razu doinstalowujesz sobie wtyczkę Python, która ogarnia Ci wszystko związane z Pythonem, łącznie ze środowiskami wirtualnymi i odczytem notatników Jupyter.
Wraz ze zgłębianiem się w kod chciałbyś mieć łatwy podgląd Twoich aktualnych zmian. Chciałbyś też mieć informację, kto pracował nad danymi linijkami kodu jako ostatni i czym się tam zajmował. Doinstalowujesz sobie wtyczkę GitLens i od razu widzisz kto i kiedy kodował każdą linijkę kodu. Okazuje się, że Twój zespół korzysta z usługi GitLab, wpinasz więc ją sobie w edytor i od razu po wysłaniu zmian na serwer widzisz, na jakim etapie automatycznych procesów ciągłej integracji jesteś. Jesteś nowy w projekcie, ale od razu działasz jak dobrze naoliwiony trybik w dużej maszynerii. Fajna sprawa, nie?
Visual Studio Code — Podsumowanie
W mojej opinii Visual Studio Code to bardzo fajny edytor, który nie zastępuje Jupyter Notebook. Razem stanowią fajny zestaw narzędzi — Jupyter Notebook przydaje się do wczesnych eksperymentów, a VS Code lepiej wspiera programistę w drodze na produkcję. VS Code, mimo iż stworzone przez Microsoft jest wydane na licencji MIT i działa na systemach macOS i Linux. Od niedawna jest również zintegrowane z systemem Anaconda, nie wymaga więc ręcznego zajmowania się jego instalacją.
Common, Notepad++ i żaden inny, klasyczna szkoła programowania.
BTW -> w formularzu komentarza zmieniłbym „Nazwa” na „Imię/Pseudonim” 🙂
W sumie mnie jakoś ominęła przyjemność Notepad++, no, chyba że na jakichś laboratoriach :). Ale faktem jest, że każdy programista powinien od czasu do czasu zaprogramować coś w gołym edytorze tekstowym. Odczuwany wtedy poziom frustracji przypomina o miejscu, z którego każdy z nas wychodził. 😀
Dzięki za uwagę odnośnie formularza. Jak kiedyś połapię się jak to zmienić to niechybnie to zrobię.
why not both 😛 https://www.youtube.com/watch?v=FSdIoJdSnig
W sumie racja. Nie miałem jeszcze okazji tak pracować — ta możliwość jest chyba bardzo nowa. Jednakże wygląda to bardzo obiecująco. Jest jedna cecha Jupyter Notebook, która chyba jeszcze nie została przeniesiona do VS Code — uruchomienie zdalnego serwera notebooków. Wygląda to mniej więcej tak, że uruchamiamy serwer Jupyter Notebook na jakimś fizycznym komputerze typu serwer i podłączamy się do niego za pośrednictwem przeglądarki internetowej. Wtedy wystarczy nam na dobrą sprawę rozpakowany przed pięcioma minutami dowolny komputer osobisty. Ale w sumie zastanawiam się, czy w ogóle coś takiego byłoby potrzebne w VS Code. W każdym razie, dzięki za przydatny link!
Od osób pracujących codzień z pythonem, wiem że pycharm sprawdza im się lepiej przy pracy z Pythonem. Także polecam sprawdzić i ten edytor.
Zgadza się, dużo programistów Pythona poleca również PyCharm. Szczególnie jeśli ma się do czynienia np. z Django albo bazami danych SQL. Nie ma również problemów ze spięciem PyCharm z dystrybucją Anaconda: https://docs.anaconda.com/anaconda/user-guide/tasks/pycharm/
Dzięki za uwagę 🙂