Python 101 Documentation Release 0.5
Total Page:16
File Type:pdf, Size:1020Kb
Python 101 Documentation Release 0.5 Centrum Edukacji Obywatelskiej Sep 08, 2017 Contents 1 Pytania do tych materiałów 3 2 Pobieranie tej dokumentacji 5 3 Przygotowanie do szkolenia 7 i ii Python 101 Documentation, Release 0.5 Niniejsze materiały to dokumentacja do szkolenia z j˛ezykaPython realizowanego w ramach projektu Koduj z Klas ˛a prowadzonego przez Fundacj˛e Centrum Edukacji Obywatelskiej. Krótki link do tej strony: bit.ly/py-101 Contents 1 Python 101 Documentation, Release 0.5 2 Contents CHAPTER 1 Pytania do tych materiałów Zach˛ecamydo dyskusji i zadawania pytan´ na naszym forum 3 Python 101 Documentation, Release 0.5 4 Chapter 1. Pytania do tych materiałów CHAPTER 2 Pobieranie tej dokumentacji Materiały mozna˙ pobrac´ do czytania w wersji offline. Za pomoc ˛aponizszych˙ polecen´ pobierzemy dokumentacj˛ei rozpakujemy do folderu ~/Pulpit/python-101-html: ~$ wget -O python-101-html.zip http://koduj-z-klasa.github.io/python101/python-101- ,!html.zip ~$ unzip python-101-html.zip -d ~/Pulpit/ Materiały mozna˙ takze˙ pobrac,´ zmodyfikowac´ i przygotowac´ według instrukcji w repozytorium 5 Python 101 Documentation, Release 0.5 6 Chapter 2. Pobieranie tej dokumentacji CHAPTER 3 Przygotowanie do szkolenia Przed szkoleniem warto przygotowac´ swój komputer. System i oprogramowanie Nasze materiały zakładaj ˛awykorzystanie systemu Linux i j˛ezyka Python w wersji 2.7.x, który jest cz˛esci´ ˛awszystkich desktopowych dystrybucji. Oprócz interpretera j˛ezykapotrzebne s ˛abiblioteki wykorzystywane w bardziej zaawan- sowanych przykładach, takich jak gry, aplikacje internetowe czy obsługa baz danych za pomoc ˛asystemów ORM. Przygotowalismy´ równiez˙ specjaln ˛awersj˛esystemu Linux Live o nazwie LxPup KzkBox przeznaczon ˛ado instalacji na kluczu USB. Zawiera ona wszystkie potrzebne narz˛edziai biblioteki, uruchamia si˛ez nap˛eduUSB na wi˛ekszosci´ komputerów i zapami˛etujewyniki naszej pracy. Note: Do realizacji scenariuszy dostosowac´ mozna˙ praktycznie kazdy˙ system, w tym MS Windows. Na koncu´ tego dokumentu znajdziesz wskazówki, jak to zrobic.´ Katalog u˙zytkownika Scenariusze zakładaj ˛arówniez,˙ ze˙ pracujemy w katalogu domowym uzytkownika.˙ W systemach Linux jest to pod- folder katalogu /home o nazwie zalogowanego uzytkownika,˙ np. /home/uczen. W poleceniach wydawanych w terminalu (zob. terminal) scie´ zk˛edo˙ tego katalogu symbolizuje znak ~. Skrócony zapis typu ~/quiz2$ oznacza, ze˙ dane polecenie nalezy˙ wykonac´ w podkatalogu quiz2 katalogu do- mowego uzytkownika.˙ Znak $ oznacza, ze˙ komendy wydajemy jako zwykły uzytkownik,˙ natomiast # – jako root, czyli administrator. Note: W przygotowanym przez nas systemie LxPup KzkBox wyj ˛atkowo pracujemy jako uzytkownik˙ root w kalogu domowym /root. Przygotowanie systemu Linux Jezeli˙ nie masz zainstalowanego systemu Linux, mozesz˙ wykorzystac´ wersj˛e Linux Live, która po nagraniu na pendra- jwa pozwoli uruchomic´ komputer. Jezeli˙ masz Linuksa lub planujesz go zainstalowac´ na dysku, czytaj dalej. 7 Python 101 Documentation, Release 0.5 Dystrybucje Najwygodniej pracowac´ w systemie Linux zainstalowanym na stałe, np. obok MS Windows. Polecamy systemy, na których przetestowalismy´ scenariusze: • Linux Mint 18 z dowolnym srodowiskiem´ graficznym. • Debian Jessie 8 – ostatnia stabilna wersja, proponujemy wersj˛eze srodowiskiem´ XFCE. Zob.: Instalacja De- biana Jessie. • Xubuntu 16.04 LTS – stabilna odmiana Ubuntu, zawiera proste i wydajne srodowisko´ graficzne XFCE. Zob. Instalacja Lubuntu (instalacja jest taka sama). Instalacja powyzszych˙ systemów jest prosta, pomocne informacje mozna˙ znale´zc´ np. na stronie Zainstalu Linuksa Narz˛edziai biblioteki W systemach linuksowych Python 2.7.x zainstalowany jest domyslnie,´ wersja 3.x równiez.˙ Potrzebne narz˛edzia/bibliotekiinstalujemy przy uzyciu˙ systemowego menedzera˙ pakietów (np. apt-get czy pacman) i/lub instalatora pakietów Pythona pip. Wymagane: • pip – instalator pakietów Pythona, podstawowe narz˛edziesłuz˙ ˛acedo zarz ˛adzaniapakietami Pythona zgromad- zonymi np. w repozytorium PyPI (Python Package Index); • virtualenv – menedzer˙ wirtualnych srodowisk´ Pythona, pozwala tworzyc´ katalogi zawieraj ˛aceizolowane srodowisko´ Pythona umozliwiaj˙ ˛aceinstalowanie wybranych wersji pakietów przez zwykłych uzytkowników;˙ • klient git – narz˛edzieumozliwiaj˙ ˛acekorzystanie z repozytoriów kodu i dokumentacji w serwisie Github • sqlite3 – konsolowa powłoka dla baz SQLite3, umozliwia˙ przegl ˛adanieschematów tabel oraz zarz ˛adzaniebaz ˛a za pomoc ˛aj˛ezykaSQL. Dodatkowe: • ipython – rozszerzona interaktywna konsola Pythona; • qtconsole – rozszerzona interaktywna konsola Pythona wykorzystuj ˛acabibliotek˛eQt, umozliwia˙ m. in. wyswi-´ etlanie wykresów utworzonych z wykorzystaniem matplotlib. Instalacja W systemach opartych na Debianie (LinuxMint, (X)Ubuntu itp.) w terminalu wydajemy nast˛epuj˛acepolecenia: ~$ sudo apt-get update ~$ sudo apt-get install python-pip python-pygame python-tk python-matplotlib git ,!sqlite3 ~$ sudo apt-get install ipython ipython-qtconsole ~$ sudo pip install virtualenv flask django peewee sqlalchemy flask-sqlalchemy W systemach opartych na Arch Linuksie (Manjaro itp.) w terminalu wydajemy nast˛epuj˛acepolecenia: ~# pacman -Syyu ~# pacman -S python2-pip python2-pygame tk python2-matplotlib git sqlite ~# pacman -S ipython2-notebook python2-pyqt5 ~# pip2 install virtualenv flask django peewee sqlalchemy flask-sqlalchemy 8 Chapter 3. Przygotowanie do szkolenia Python 101 Documentation, Release 0.5 Note: Ewentualna aktualizacja biblioteki matplotlib oraz narz˛edzi ipython i qtconsole w systemach opartych na Debianie wymaga doinstalowania srodowiska´ umozliwij˙ ˛acego kompilacj˛e: ~$ sudo apt-get install build-essential libpng12-dev zlib1g-dev libfreetype6-dev ,!python-dev ~$ sudo pip install matplotlib ipython qtconsole Note: • Nazwy pakietów w róznych˙ dystrybucjach mog ˛asi˛enieco rózni˙ c´ od podanych. • Systemy Debian i Arch Linux w domyslnej´ konfiguracji nie wykorzystuj ˛amechanizmu podnoszenia uprawnien´ sudo, dlatego polecenia instalacji nalezy˙ wydawac´ z konta uzytkownika˙ root, co oznaczamy znakami ~#. • W systemach opartych na Debianie ((X)Ubuntu, LinuxMint itp.) polecenie python domyslnie´ wywołuje Pythona 2, w systemach opartych na Arch Linuksie – Pythona 3. Aby uzy˙ c´ interpretera Pythona 2, w Archu itp. trzeba wydac´ polecenie python2. Pip Przydatne polecenia: ~$ pip -V # wersja narz˛edziapip ~$ pip list # lista zainstalowanych pakietów ~$ sudo pip install nazwa_pakietu # instalacja pakietu ~$ sudo pip install nazwa_pakietu -U # aktualizacja pakietu ~$ sudo pip uninstall # usuni˛eciepakietu Przygotowanie systemu Windows Przykłady zostały przygotowane z mysl´ ˛ao systemie Linux. Przygotowana i polecana przez nas przenosna´ wersja Linuksa LxPup zawiera wszystkie potrzebne narz˛edziai biblioteki. Mozna˙ je równiez˙ wykonywac´ w srodowisku´ Windows. Cały kod działa tak samo, jednak niektóre biblioteki w wersjach binarnych trzeba sci´ ˛agn˛ac´ i zainstalowac´ r˛ecznie. Note: Pami˛etaj,by w systemie Windows zmieniac´ znaki / (slash) na \ (backslash) w scie´ zkach˙ podawanych w scenariuszach, podobnie pozamieniaj komendy systemu Linux na odpowiedniki wiersza polecen´ Windows. Inerpreter Pythona Na stronie Python Releases for Windows klikamy link Last Python 2 Release - ... i pobieramy plik Windows x86 MSI installer dla Windowsa 32-bitowego lub Windows x86-64 MSI installer dla edycji 64-bitowej. Tip: Podczas instalacji zaznaczamy opcj˛e“Add Python.exe to Path”. 3.1. System i oprogramowanie 9 Python 101 Documentation, Release 0.5 10 Chapter 3. Przygotowanie do szkolenia Python 101 Documentation, Release 0.5 Narz˛edziai biblioteki Narz˛edziawymagane: • pip – instalator pakietów Pythona, podstawowe narz˛edziesłuz˙ ˛acedo zarz ˛adzaniapakietami Pythona zgromad- zonymi np. w repozytorium PyPI (Python Package Index); • virtualenv – menedzer˙ wirtualnych srodowisk´ Pythona, pozwala tworzyc´ katalogi zawieraj ˛aceizolowane srodowisko´ Pythona umozliwiaj˙ ˛aceinstalowanie wybranych wersji pakietów przez zwykłych uzytkowników;˙ • klient git – narz˛edzieumozliwiaj˙ ˛acekorzystanie z repozytoriów kodu i dokumentacji w serwisie Github • sqlite3 – konsolowa powłoka dla baz SQLite3, umozliwia˙ przegl ˛adanieschematów tabel oraz zarz ˛adzaniebaz ˛a za pomoc ˛aj˛ezykaSQL. Narz˛edziadodatkowe: • ipython – rozszerzona interaktywna konsola Pythona; • qtconsole – rozszerzona interaktywna konsola Pythona wykorzystuj ˛acabibliotek˛eQt, umozliwia˙ m. in. wyswi-´ etlanie wykresów utworzonych z wykorzystaniem matplotlib. Pip Narz˛edzieuruchamiamy w wierszu polecen´ (terminalu). Przydatne polecenia: pip -V # wersja narz˛edziapip pip list # lista zainstalowanych pakietów pip install nazwa_pakietu # instalacja pakietu pip install nazwa_pakietu -U # aktualizacja pakietu pip uninstall # usuni˛eciepakietu Narz˛edzia pip uzyjemy˙ do instalacji pakietów virtualenv, ipython i qtconsole: pip install virtualenv pip install ipython qtconsole Biblioteki PyQt Qtconsole wymaga bibliotek PyQt. W Windows 32-bitowym ze strony PyQt4 Download pobieramy plik PyQt4- 4.11.4-gpl-Py2.7-Qt4.8.7-x32.exe i instalujemy. W wersji 64-bitowej Windowsa w terminalu wydajemy polecenie: pip install python-qt5 Git Git to narz˛edziedo obsługi repozytoriów hostowanych w serwisie GitHub. Podstawowego klienta w wersji 32- lub 64-bitowej pobieramy ze strony Downloading Git i instalujemy, zaznaczaj ˛acwszystkie opcje. Alternatywna metoda instalacji, jak równiez˙ zasady pracy z repozytoriami omówione zostały w osobnym dokumencie. Gor ˛acozach˛ecamydo jego przejrzenia. 3.1. System