Do niektórych wpisów z Ciemnej Strony dodaję autorskie skrypty w języku Python. Dzięki nim możemy chociażby wyświetlać powiązania między firmami, szybko zgłaszać rosyjskie trolle albo usuwać wrażliwe dane ze zdjęć.

Zakładam, drodzy czytelnicy, że nie mieliście do czynienia z Pythonem. I może mieć nie chcecie, niezbyt Was interesuje. Chcecie po prostu użyć jakiegoś skryptu. Rozumiem to :wink:

Ale skrypty się same nie włączą. Żeby z nich skorzystać, musimy przynajmniej zainstalować i uruchomić Pythona. Całość trwa maksymalnie kilka minut i jest bardzo prosta.

Uwaga: Pokazuję tutaj informacje tylko dla wybranych systemów. Na innych instalacja przebiega nieco inaczej, ale zwykle jest równie prosta.

Instalowanie Pythona

Na Windowsie

Najpierw odwiedzamy oficjalną stronę Pythona. Powinno samo nam podpowiedzieć najnowszą wersję:

Zrzut ekranu ze strony Pythona. Na jaskrawym tle widać wersję proponowaną dla naszego systemu operacyjnego.

Pobieramy instalator – w przypadku Windowsa będzie miał końcówkę .exe. Znajdujemy ten plik w folderze z pobranymi rzeczami i włączamy podwójnym kliknięciem.

Porada

Żeby nie szukać instalatora po folderach, można od razu po jego pobraniu kliknąć w ikonę pobranych plików z górnego paska (u mnie na przykładzie Firefoksa). Wyświetli się miniaturka pobranego pliku.
Tutaj można po prostu kliknąć nazwę pliku exe, żeby go odpalić.

Rozwinięta zakładka z pobranymi plikami w przeglądarce Firefox. Wyróżniono nazwę pobranego pliku exe, w którą należy kliknąć.

Po włączeniu instalatora najpierw zaznaczamy dolną opcję, dodanie Pythona do PATH (zmiennych systemowych):

Okno instalatora Pythona na Windowsie. Opcja na dole jest zaznaczona czerwoną ramką i widnieje przy niej cyfra 1. Zaznaczona jest też największa z opcji, mówiąca o domyślnej instalacji. Widać przy niej cyfrę 2.

Nie jest to obowiązkowe, ale ogromnie ułatwia życie – dzięki temu jesteśmy w stanie przywoływać Pythona w dowolnym folderze prostą komendą python. Gdybyśmy tego nie zrobili, trzeba by zamiast tego podawać pełną ścieżkę do jego głównego pliku.

Opcję instalowania dla wszystkich użytkowników można odhaczyć. Zwłaszcza jeśli po prostu korzystamy z własnego komputera, na którym mamy jedno konto.

Potem klikamy Install Now, domyślną opcję instalacji.

Inna opcja to zainstalowanie tylko wybranych rzeczy. Ale ją odradzam. Wszystko z domyślnego pakietu się przyda. Szczególnie IDLE (edytor) i PIP (program do pobierania dodatków).

Porada

Jeśli coś źle zaznaczymy podczas instalacji, to nie trzeba od nowa pobierać Pythona. Wystarczy ponownie kliknąć plik exe z instalatorem. Pojawi się możliwość zmiany ustawień.

Instalacja powinna zająć tylko krótką chwilę, a otwiera przed nami cały świat skryptów.

Na Linuksie

Pewna różnica względem Windowsa polega na tym, że Linux nie jest tak naprawdę jednym systemem. Istnieją różne jego warianty, nazywane dystrybucjami.

Osobiście korzystam z dystrybucji Linux Mint. Która pod względem działania oraz wyglądu jest dość podobna do Windowsa, więc łatwo się przestawić.

Okej. Więc żeby zainstalować Pythona na Mincie… Zapewne nie musimy nic robić :wink: Jest domyślnie dołączony do systemu!

Oczywiście może nas najść ochota, żeby zamiast domyślnej wersji skorzystać również z najnowszej. Tu już jest nieco więcej kroków, więc pozwolę sobie podlinkować fajny poradnik po angielsku.

Kilka uwag do poradnika (kliknijcie, żeby rozwinąć)
  • Plik z oficjalnej strony Pythona nie będzie miał formatu exe, tylko tar.xz.
  • Trzeba otworzyć konsolę w tym samym folderze co ten plik.

    W tym celu otwieramy Mintowy odpowiednik eksploratora plików i przechodzimy do odpowiedniego folderu.
    Klikamy prawym przyciskiem myszy gdzieś poza ikonami plików i wybieramy opcję Otwórz w terminalu. Można wybrać tę opcję również przez menu Plik w górnym lewym rogu.

  • Wszystkie rzeczy z poradnika pokazane na czarnym tle to komendy. Wpisujemy je w naszej konsoli, bez dolarka na początku.
  • Jeśli ufamy w ciemno wersji ze strony Pythona, to możemy pominąć pierwsze punkty poradnika i przeskoczyć od razu do ostatnich dwóch komend z punktu 1 (od tar).
  • Do systemu Linux Mint odnoszą się polecenia spod nagłówka Ubuntu.

Korzystanie ze skryptów

Każdy z moich skryptów zawsze zapewniam w formie pojedynczego pliku tekstowego z końcówką .py. Każdy z nich wykonuje tylko jedną, ściśle określoną rzecz.

Jeśli ma jakieś szczególne wymagania (np. potrzebuje dodatkowych modułów), to zawsze o tym wspominam.

Na potrzeby wprowadzenia naszykowałem dla Was skrypt przykładowy: witaj.py. Cała jego zawartość to:

print('Witaj po ciemnej stronie!')

Po odpaleniu wyświetli dokładnie te słowa. Jest więc niegroźny i nic nie może zmienić. Idealny na start, można pobierać śmiało.
Dalszy sposób korzystania jest bardzo podobny na różnych systemach. Opisuję działania na przykładzie Windowsa, ale Linux niewiele się różni.

Na Windowsie

Otwieramy Eksploratora i przechodzimy do folderu, w którym jest plik.

Niestety Windows nie jest do końca przyjazny, jeśli chodzi o uruchamianie skryptów. Gdybyśmy po prostu dwukrotnie kliknęli skrypt, to na chwilę mignie czarne okno, a potem zniknie. Spróbujcie sami.

Nie zobaczymy przeznaczonego dla nas powitania.
Gdyby, zamiast powitania, skrypt wyświetlał inny komunikat – na przykład o konieczności pobrania czegoś – to też byśmy go nie zobaczyli. Przyznam, że średnio jak na pierwsze wrażenie.

A co zrobić, jeśli skrypty zwyczajnie nie są przystosowane do uruchamiania przez podwójne kliknięcie?
Po prostu trzeba je otworzyć w inny sposób – na przykład przez IDLE, domyślny edytor Pythona, który zainstalowaliśmy w poprzednich krokach.

Aby otworzyć IDLE, wchodzimy w Menu Start na naszym Windowsie (ikona w lewym dolnym rogu). Są tam różne zakładki, ułożone alfabetycznie. Znajdujemy zakładkę Python... i ją rozwijamy:

Menu Start z Windowsa, zakładka dla Pythona.

Klikamy na IDLE.... Włączymy w ten sposób edytor IDLE w trybie ogólnym, interaktywnym:

IDLE w trybie konsoli. Widać trzy brązowe strzałki, a za nimi puste pole, w które można wpisywać komendy.

Żeby otworzyć w nim teraz konkretny skrypt, wybieramy z górnego menu File, potem Open (albo naciskamy Ctrl+O, jak Open).

Pojawi się domyślne menu Windowsa od wybierania plików. Dzielnie przeklikujemy się do naszego skryptu witaj.py i go wybieramy. IDLE wyświetli go w drugim ze swoich trybów, trybie edycji:

Otwarte okno IDLE w trybie edycji (pusta przestrzeń, w którą można wpisywać kod.

Teraz możemy przejrzeć sobie treść skryptu, co w tym przypadku nie zajmie dużo czasu.

Naciskamy F5, żeby odpalić skrypt. Wyświetli się kolejne okno w trybie interaktywnym, pokazujące komunikaty. Wyświetlą nam się słowa „Witaj po ciemnej stronie!”.

IDLE w trybie konsoli z wyświetlonymi słowami.

Czyli wszystko działa, a świat Pythona stoi otworem.

Jeśli chcemy pójść o krok dalej i trochę ułatwić sobie pracę ze skryptami, to zapraszam do rozszerzonego samouczka.

Pytania i odpowiedzi

A jeśli nie działa?

W tym prostym przykładzie musielibyśmy się bardzo postarać, żeby coś nie zadziałało :wink:

Ale w innych przypadkach, zakładając że sam nie popełniłem błędów, przyczyną może być na przykład brak jakiegoś potrzebnego pakietu.

Dlatego warto uruchamiać skrypty przez IDLE lub inny program, a nie podwójnym kliknięciem. W ten sposób powinniśmy zobaczyć ewentualne komunikaty o błędach.

Inną przyczyną błędu może być nieumyślne naciśnięcie spacji podczas oglądania pliku. W takim wypadku treść komunikatu o błędzie powinna zawierać tekst Syntax Error.

W Pythonie spacje odgrywają kluczową rolę. Jeśli przypadkiem jakąś naciśniemy, przeglądając skrypt w trybie edycji, to może nam się przesunąć jakaś linijka kodu, sprawiając że całość przestanie działać.

Rozwiązanie tego błędu?
W przypadku skryptów ode mnie najłatwiej dla pewności pobrać skrypt jeszcze raz. Nie otwierać go w innych programach, nawet w żadnym Notatniku, tylko od razu przez IDLE (albo inny program, jeśli ktoś woli). Nie zmieniać niczego, ani literki, i spróbować uruchomić skrypt.

Czy potrzeba czegoś poza Pythonem?

Staram się, żeby każdy skrypt był niezależną całością. Ale nie zawsze jest to realne.

Dlatego niektóre skrypty mogą wymagać dodatkowych modułów. Jeśli tak jest, to zawsze o tym wspominam. Sam skrypt też powinien wyświetlać odpowiedni komunikat, jeśli mu czegoś brakuje.

Stworzyłem również krótki samouczek na temat pobierania zewnętrznych modułów. Przyda się w przypadku trafienia na skrypt wymagający czegoś poza podstawowym Pythonem.

Czy to bezpieczne?

Dobrze, że pytacie! :smile: Przy pobieraniu nieznanych programów sceptycyzm zawsze na propsie.

Od siebie mogę jedynie powiedzieć: zadbałem o bezpieczeństwo.
Żaden ze skryptów ode mnie nie jest wirusem. Nie łączy się z internetem. Unika „mieczy obosiecznych” – funkcji grzebiących przy systemowych plikach.

Poza tym skrypty są bardzo zachowawcze i nie usuwają folderów (nawet tych tworzonych przez siebie; w końcu w międzyczasie mogliście tam nieuważnie wrzucić własne cenne pliki).

Ale w świecie komputerów wszystko jest względne. Do tego stopnia, że nawet twórcy QubesOS, systemu skupionego w 100% na bezpieczeństwie, nazywają go jedynie “a reasonably secure operating system”.

Ktoś mógłby kiedyś przejąć moje konto i podmienić skrypty. Albo dodać złośliwy kod do samego Pythona, przez co niegroźne rzeczy staną się groźne. Innym razem niegroźne skrypty mogą zostać użyte do ataku, jeśli podrzuci im się zawirusowany plik.

W takich realiach trudno o absolutne gwarancje. Ale kod jest na widoku, a każda znająca się na tym osoba może go zweryfikować. To zawsze coś.