Python 101 Documentation Release 0.5

Python 101 Documentation Release 0.5

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

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    444 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us