Showing posts with label vim. Show all posts
Showing posts with label vim. Show all posts

Sunday, December 21, 2008

Python - od czego zacząć

Dziś zostało mi zadane pytanie od czego zacząć z Pythonem na start :)
Ponieważ  było to pytanie w kontekście "Windowsa" będę pisał głównie o nim.

Na początek potrzebny jest sam język Python. Możemy go ściągnąć z oficjalnej strony
Po zajerzeniu do działu Download możemy się ciut zagubić. Proponuję ściągnąć wersję pythona zaczynającą się od cyferki 2. Wszystkie samouczki opisują składnię kompatybilną z tą właśnie gałęzią. I nie ma się co martwić. Python 3 wyszedł stosunkowo nie dawno jest do niego niewiele bibliotek i chyba niemalże brak samouczków, a ucząc się Pythona 2 wcale nie uczysz się czegoś nieużytecznego. Opanowując Pythona 2 dasz sobie radę i z Pythonem 3 wspierając się dokumentacją :) opisującą zmiany pomiędzy tymi dwoma gałęziami.

Ściągamy więc ze strony http://www.python.org/download/ wersję Pythona 2, instalujemy w systemie :) Super. Połowa sukcesu za nami.

Przydałoby się jeszcze środowisko programistyczne. Sporo o edytorach dla języka Python można znaleźć w wątku http://forum.python.org.pl/index.php?topic=54.0 PPCG lub na oficjalnym Wiki Pythona . Wybór należy do Ciebie. Jeżeli lubisz proste, działające programy polecam Geany. Zaś dla miłośników poważny środowisk programistycznych wtyczkę do Eclipse o nazwie PyDev. W gruncie rzeczy bardzo dobrze z Pythonem radzi sobie Vim. Wiedząc, że kombinacja klawiszy [ctrl]+[x] [o] uzupełnia składnię wielu funkcji pythona (choć niestety są tutaj zauważalne braki) podając również w okienku nad kodem jej dokumentację (brawo !) a [ctrl]+[n] uzupełnia na podstawie wpisanego już w kodzie lub plikach tekstu - można śmiało używać Vima. Przy odpowiednich ustawieniach wcięcia :) i kolorowanie - no niemalże nic nie brakuje.
Znacznie bardziej rozbudowany jest na przykład Eclipse, który zaznacza nam na "marginesie" kodu wszystkie linijki nie zgodne ze standardem kodowania PEP-8, posiada znacznie bardziej wyrafinowane uzupełnianie składni oczywiście moc funkcji konfiguracyjnych.

Należałoby tutaj wspomnieć o pewnej wciąż drażniącej mnie przypadłości Windows. Konsola i PATH :| Wieczne utrapienie. Problem polega między innymi na tym, że programy uruchamia się na przykład wpisując:

python moj_program.py
Po pierwsze żeby konsola była zjadliwa wypadałoby użyć Windows PowerShell i zmienić w niej czcionkę na coś bardziej zjadliwego. Ja używam Lucida Console 14 bez pogrubienia. Zaletą tej konsoli jest fakt iż można w niej stosować polecenia takie jak na przykład ls nie walcząc z Uniksowymi nawykami. Jednak nadal uruchomienie konsoli Pythona czy wykonanie w niej programu w którymś momencie spowoduje odpaleniem go w zwykłej konsoli cmd i cały urok gdzieś znika :| nie udało mi się jeszcze zmusić całego systemu aby używał wszędzię PowerShella.
Kolejny frustrujący, tym razem już prostszy do rozwiązania problem, to fakt, że domyślnie polecenie Python nie jest wrzucone do zmiennej PATH. Możemy to zmienić wchodząc we Właściwości Mojego Komputera (Właściwości Systemu), wybierając w zakładce Zaawansowane opcje Zmienne środowiskowe ... i modyfikując  lub dodając zmienną użytkownika PATH na przykład:

%PATH$:%ProgramFiles%\Python26\

Przynajmniej tak to wygląda pod Vistą w przypadku instalacji w domyślnym katalogu Program Files.
Oczywiście to nie rozwiązuje poprzedniego problemu i nadal mamy totlotek, z której konsoli będziemy korzystać :| Jeżeli ktoś potrafi rozwiązać rzeczone problemy :) to byłbym szalenie wdzięczny za uwagi w komentarzach. Jednak z mojego doświadczenia nic nie równa się z wygodą używania Pythona w Linuksie. Więc jeżeli masz dostęp do jakiegoś shella lub możliwość używania Linuksa ad hoc - skorzystaj z niego :) Pod Windows najwygodniej pracować jest w jakimś edytorze, który posiada swój własny shell i wyjście programu tak aby nie musieć używać linii poleceń Windows (o zgrozo).

Gdzie zacząć szukać. Ja zacząłem od kursu Jakuba Swachy - był przyjemny. Polecam również moje wykłady. Jeżeli zaś chodzi o dobrą literaturę - natknąłem się w sieci na draft Thinking In Python. Już programujący i niebojącym się języka Angielskiego - bardzo polecam. Mnóstwo materiałów znajdziecie rownież na stronie Polish Python Coders Group szczególnie w dziale artykuły i wykłady.

Powodzenia !

Monday, June 30, 2008

Vim .netrc i nie musisz pamiętać haseł

Dodałem sobie pliczek ~/.netrc do katalogu domowego. Wrzuciłem tam:
machine serwer.pl login dziubdziub password haslodziubdziuba
machine linux.pl login dziubdziub password nextpasswordofdziubdziub
Zrobiłem jeszcze chmod 0600 ~/.netrc i nie muszę się już użerać z pamiętaniem haseł w vim :] po prostu mnie loguje !

Vim i FTP

Dziś musiałem zabrać się za projekt - zdalnie. Wchodzę do vima. Wklepuję :e ftp://.... i błąd - nie działa... Co jest ? Zacząłem szukać po necie - nic. Zajrzałem w końcu w źródła wtyczki netrw i zobaczyłem, że błąd, który był zwracany this system doesn't support remote directory listing via ftp występuje gdy nie ma w systemie polecenia ftp. No to rozpoczęły się poszukiwania... Po jakimś czasie doszedłem do tego, że odpowiedzialny jest za to pakiet netkit-ftp. Przy okazji zainstalowałem jeszcze net-tools... kurcze - Arch jest dla mnie troszkę zbyt szczegółowy - żeby polecenia ftp nie było :]