Jeszcze jeden blog o programowaniu

Radosne twórczości leniwego programisty

Posts Tagged ‘PyCharm

PyCharm – jedna konfiguracja na wielu instancjach

leave a comment »

Ponownie chciałbym pochwalić PyCharma – w sumie to wszystkie IDE od JetBrains.

Otóż narzędzie to pozwala nam na współdzielenie naszej ulubionej konfiguracji środowiska pomiędzy różnymi instancjami – jeśli używamy tego IDE w pracy i w domu to warto z tego skorzystać.
Oczywiście ma to też ten plus, że w przypadku kradzieży/zniszczenia możemy w całkiem prosty sposób odzyskać poprzednią konfigurację.

A sprawa jest całkiem prosta:

  1. Zakładamy nowe repozytorium, np. w serwisie GitHub (tak, może być też GitLab albo jakiekolwiek inne – ja lubię GitHub)
  2. W PyCharm wybieramy kolejno File > Settings Repository i ustawiamy konkretny Upstream URL na adres repozytorium
  3. Nadpisujemy zdalne (Overwrite Remote)
  4. To samo robimy na pozostałych instancjach nadpisując ustawienia lokalne (Overwrite Local)

Gdy już mamy zsynchronizowane, każda zmiana powinna być automatycznie pobierana z i wysyłana do repozytorium – jednak opcja Merge też w niektórych sytuacjach może się przydać 🙂

Written by Filip Górczyński

2018.04.20 at 15:44:06

Narzędzia do statycznej analizy kodu źródłowego w PyCharm

leave a comment »

Kilkukrotnie wspominałem już o IDE PyCharm i jego możliwościach. Oprócz kolorowania składni i obsługi kilku innych głupotek pozwala na przykład definiować narzędzia, które później możemy uruchamiać w trakcie pisania kodu.

Jako programiści Pythona możemy do tych narzędzi zaliczyć te dbające o jakość pisanego przez nas kodu. Oprócz standardowego PEP8 – który jest tylko czubkiem góry lodowej – osobiście chciałbym polecić także: flake8, pylint oraz radon.

flake8 jako linter sprawdza kod pod kątem zgodności ze standardami – dodatkowo rozszerza wspomniany przed chwilą PEP8 o kilka innych wartościowych usprawnień, np. takie związane z komentarzami, nazewnictwem zmiennych, itp.

Podobnie ma się sytuacja z pylint-em, jednak jego zaletą jest ocena naszego kodu z użyciem skali – każda zmiana może wpływać pozytywnie lub negatywnie zgodnie z następującym wzorem. Satysfakcją jest uzyskać ocenę 10.00/10.00 :). Oprócz oceny liczbowej otrzymujemy także zestawienie i najróżniejsze statystyki.

radon natomiast w całkiem przyjemny sposób prezentuje nam informacje na temat złożoności fragmentów naszego kodu – może nam się wtedy zapalić czerwona lampka, że pewne elementy powstałego kodu mogą potencjalnie stanowić wąskie gardło w aplikacji i są dobrym miejscem zaczepienia jeśli chodzi o refaktoryzację.

Zainstalujmy więc sobie narzędzia w czystym środowisku wirtualnym:

flake8 zostanie zainstalowany jako zależność podczas instalacji radon-a.

Klikamy „+” aby dodać nowe narzędzie. W otwartym okienku uzupełniamy jak poniżej:

Oczywiście dobrym pomysłem jest także grupowanie naszych narzędzi, np. ze względu na technologię oraz konfiguracja skrótów klawiaturowych:

Poniżej kilka zrzutów po uruchomieniu:

  • flake8:

  • pylint

  • radon

Więcej doczytać można w następujących źródłach:

  1. About style guide of python and linter tool. pep8, pyflakes, flake8, haking, Pylint.
  2. What is Flake8 and why we should use it?

Written by Filip Górczyński

2018.03.07 at 18:06:39

Grupowanie podprojektów w PyCharm

leave a comment »

Niezbyt często używaną funkcją PyCharma jest jego wsparcie dla dużych projektów w postaci możliwości dodawania nowych projektów w ramach bieżącego okna. Jeszcze mniej znaną (według mnie) funkcją pozwalającą zapanować nad wieloma projektami jest możliwość grupowania projektów w strukturze drzewa.

Co warto zrobić na początku – głównie z czysto estetycznych powodów – to ustalić jakiś całkowicie oddzielny katalog, który może pozostać pusty. Ewentualnie możemy trzymać jakieś „śmieci” związane z projektem, które nie muszą być, np. pod kontrolą wersji.

Zazwyczaj podczas tworzenia nowego projektu otwieramy go w nowym oknie PyCharm – i tak też zalecałbym zrobić dla dopiero co utworzonego katalogu „głównego”. To będzie nasz punkt startowy – a PyCharm będzie nam ładnie w tytule wyświetlał nowo powstały projekt główny.

Pozostałe projekty, które chcemy mieć widoczne w PyCharmie w odpowiedniej strukturze dodawać będziemy już w taki sposób:

Przechodząc do sedna sprawy wszystko rozbija się o nazewnictwo katalogów. Jeśli uporządkujemy projekty na dysku nadając im odpowiednie człony (prefixy) rozdzielane kropką, PyCharm zatroszczy się o resztę.

Po dodaniu kolejnych projektów będą w elegancki sposób pogrupowane w paczki, jak poniżej:

Nic więcej się nie zmienia i np. nadal posiadamy udogodnienie w postaci konfigurowania środowisk Pythona dla każdego projektu indywidualnie.

Oczywiście powyższe nie dotyczy osób, które są zwolennikami trzymania w PyCharm każdego projektu oddzielnie – jak zawsze ma to swoje plusy i minusy.

Written by Filip Górczyński

2018.03.05 at 07:34:15

Śledzenie czasu spędzonego w IDE – integracja WakaTime i PyCharm

leave a comment »

Nie tak dawno temu w ramach kolejnych prób ze śledzeniem swojego czasu spędzonego na pisaniu kodu trafiłem na WakaTime.
Dla moich potrzeb wystarczyła instalacja w PyCharm, ale inne wspierane środowiska programowania wraz z instrukcjami instalacji przejrzeć możemy na stronie WakaTime Editors.

Sama instalacja w PyCharm to tak naprawdę znalezienie i zainstalowanie wtyczki o nazwie – zgadza się – WakaTime. W opisie wtyczki jest dokładna instrukcja instalacji.

I w sumie to tyle. Po kilku godzinach pisania kodu możemy wejść na dashboard, gdzie zaprezentują nam się ładne statystyki, jakich języków używaliśmy najczęściej, w jakich projektach czy ile czasu danego dnia spędziliśmy w IDE.

Jak spora część narzędzi online także to ma swoje plany cenowe. Nam może wystarczyć darmowy, który pozwala m. in. na statystyki z ostatnich 2 tygodni. Otrzymujemy jednak narzędzie wakadump, które pozwala nam pobierać statystyki na wypadek, gdybyśmy chcieli je dalej wykorzystać.

Warto wspomnieć, że gdy z jakichś powodów coś się posypie ze środowiskiem lub będziemy chcieli zmienić klucz API to zmiany wystarczy wprowadzić w pliku: ~/.wakatime.cfg

Written by Filip Górczyński

2018.03.01 at 08:27:49

Który edytor do programowania w języku Python jest najlepszy?

leave a comment »

PyCharm, Vim, Sublime Text, Emacs, VS Code, Atom, gedit, geany, Komodo Edit – to chyba najczęściej pojawiające się propozycje edytorów dla programistów Pythona we wszelakich wątkach w sieci w odpowiedzi na pytanie: Który edytor powinienem używać do programowania w Pythonie?

TL;DR:
Jeśli jesteś początkującym programistą – praktycznie każdy edytor z kolorowaniem składni najprawdopodobniej będzie dobry.
A jeśli masz doświadczenie w programowaniu – na pewno znalazłeś już edytor, który najbardziej odpowiada Twoim osobistym preferencjom.


Dla osób – zwłaszcza początkujących – chciałbym polecić materiał przygotowany przez Pana Mirosława Zelenta – niedługi filmik, który świetnie opisuje kwestie wyboru edytora, odpowiedniego kolorowania składni, itp. wśród początkujących adeptów sztuki programowania:

W dużym skrócie, jeśli nie wiesz czym są zmienne, pętle, instrukcje warunkowe – ogólnie nie znasz jeszcze składni konkretnego języka, wybieranie środowiska do programowania jest w danym momencie najmniej istotne – nie uczyni to w żaden sposób z Ciebie lepszego programisty, a tylko odciągnie Cię od konkretów – nauki samego programowania.

Dodatkowo, każda odpowiedź na pytanie postawione w tytule wprowadza u początkujących jeszcze większy zamęt, ponieważ najczęściej jest ona zupełnie odmienna od każdej ją poprzedzającej.

Wybór edytora czy konkretnego super hiper IDE jest efektem naszych osobistych preferencji (które mogą ulegać zmianie w czasie naszego rozwoju), czasu spędzonego z konkretną technologią oraz przede wszystkim naszego wolnego czasu.
Przykładowo możemy postanowić, że chcemy korzystać z edytora Vim – podobno po zainstalowaniu i skonfigurowaniu odpowiednich wtyczek, mapowań przycisków i kilku innych rzeczy można zacząć tego używać do pisania w Pythonie (znam sporo osób, które takie rozwiązanie bardzo sobie chwalą). Jednak jeśli jesteś początkującym lub masz wiele innych obowiązków/priorytetów i nie możesz pozwolić sobie na poświęcenie kilku wieczorów na ustawienie wszystkiego jak należy oraz opanowania choćby kilku podstawowych skrótów klawiaturowych to rozwiązanie nie jest dobre dla Ciebie. Może jeszcze nie teraz. Może się okazać, że z pewnych względów – nawet po kilku podejściach nigdy dane rozwiązanie nie przypadnie Ci do gustu.
Alternatywnie (np. do Vim) możemy pobrać i uruchomić PyCharm – także w wersji darmowej (Community) dla niekomercyjnych projektów. Uruchamiamy i praktycznie mamy wszystko od razu w ramach całego środowiska: Terminal, integrację z Django/Flask/Pyramid, interpreterami czy środowiskami wirtualnymi Pythona – wszystko z całkiem ładnym i spójnym interfejsem graficznym.

Oczywiście  są jeszcze inne rozwiązania: Atom, VS Code, Sublime Text – mające nadal wielu zwolenników. Wydaje mi się, że do pisania prostych programów edytory te (często w połączeniu z linią poleceń) są w zupełności wystarczające; do dużych projektów jednak nie do końca.
Osobiście w przeszłości korzystałem z kilku powyższych narzędzi i najbardziej do gustu przypadł mi Atom oraz Visual Studio Code. Tego drugiego nadal od czasu do czasu używam. Ostatecznie do pracy przy większych projektach przesiadłem się na PyCharm Professional. Jednak nadal – są to tylko moje osobiste preferencje. Zupełnie tak jak z kolorowaniem składni – jeden uwielbia białe tło, inny czarne, a jeszcze ktoś inny bijące po oczach niebieskie.

Podsumowując: nie uważam, że którykolwiek z powyższych edytorów czy IDE jest zły. Nie uważam też, że którykolwiek z nich jest rozwiązaniem właściwym w każdym przypadku. Jak każde oprogramowanie, także i te mają mnóstwo zalet i wad.
Co będzie dobre dla Ciebie? Jeśli zaczynasz programować to większości funkcji i tak nie wykorzystasz, więc wybór może być całkowicie losowy. Zainstaluj sobie jedno z powyższych narzędzi, spędź w nim kilka tygodni i podejmij decyzję, postępuj tak dopóki nie trafisz na narzędzie w pełni pasujące do Twoich problemów. Jeśli spędziłeś już trochę czasu z kodem i wiesz, czego naprawdę potrzebujesz w pracy wybierz jedno narzędzie i naucz się go możliwie najlepiej – warto rozważyć uczenie się co najmniej jednego skrótu klawiaturowego dziennie.

Każda wojna – język A jest lepszy niż język B, edytor X jest lepszy od edytora Y czy system operacyjny L jest lepszy od systemu operacyjnego W – jest tylko i wyłącznie marnowaniem cennego czasu.

BONUS: Dla początkujących programistów Pythona na korzyść PyCharma może przemawiać jego wersja z wbudowanym kursem Pythona. Warto zapoznać się wówczas z PyCharm EDU.

Written by Filip Górczyński

2018.02.14 at 21:28:43

%d blogerów lubi to: