4. IDE - Integrated Development Environment

4.1. What is IDE?

  • Refactoring
  • Syntax helping and highlighting
  • Type hinting and checking
  • VCS support
  • Virtualenv support
  • Debugging
  • Spell checking
  • Running code and inspections
  • File Scopes and views
  • Database explorer
  • Support for testing (doctest, unittest)
  • Jump to line in exceptions

4.2. How to choose?

  • Nie ma znaczenia z jakiego IDE skorzystasz!
  • Do edycji skryptów Pythona wystarczy sam Notatnik lub Jupyter
  • W miarę rośnięcia złożoności projektu oraz ilości plików przyda nam się coś co ułatwi nam pracę
  • Dobre IDE pomoże Ci w Refactoringu, podpowiedziach typów, debuggingu oraz pracy z systemem kontroli wersji
  • PyCharm ma dwie wersję płatną oraz darmową, wersja darmowa w zupełności nam wystarczy
  • Ciekawą alternatywą może być PyDev - plugin do środowiska Eclipse

4.3. Which one is the best?

4.3.1. Open Source

  1. PyCharm Community
  2. PyDev
  3. Spyder
  4. Atom
  5. Jupyter Notebook
  6. Rodeo

4.3.2. Not-free

  1. PyCharm Professional
  2. Visual Studio Code

4.4. PyCharm

4.4.1. Keyboard shortcuts

Tab. 4.1. Keyboard shortcuts
Key Combination Action
ctrl + / Comment multiple lines
alt + F12 Open Terminal
shift + F6 Refactor… Rename
tab Indent (also used on multiple lines)
shift + tab Un-indent (also used on multiple lines)
alt + 1 Show file drawer
  Run
  Show console
  Actions
ctrl + g Jump to line
ctrl + f Search in file
ctrl + r Replace in file

4.5. Assignments

4.5.1. Create Project in Pure Python

  • Lines of code to write: 0 lines
  • Estimated time of completion: 2 min
  1. Stwórz projekt w Twoim IDE
  2. Wybierz “Pure Python” (opcja dostępna tylko w Pycharm Professional)
  3. Rozwiń listę Project Interpreter i ustaw aby korzystać z “Virtualenv”
  4. WAŻNE: Upewnij się, że masz Python 3.7 lub nowszy
  5. Po stworzeniu projektu, załóż katalog o nazwie jak twoje nazwisko i imie nazwisko_imie
  6. WAŻNE: Już do końca książki w nim będą tworzone rozwiązania do wszystkich zadań

4.5.2. Create Project from GIT

  • Lines of code to write: 0 lines
  • Estimated time of completion: 2 min
  1. Stwórz projekt w Twoim IDE
  2. Wykorzystaj opcję ‘Create from VCS’
  3. WAŻNE: Upewnij się, że masz Python 3.7 lub nowszy
  4. Stwórz plik .gitignore
  5. Wpisz linię .idea/ do pliku
  6. Po stworzeniu projektu, załóż katalog o nazwie jak twoje nazwisko i imie nazwisko_imie
  7. WAŻNE: Już do końca książki w nim będą tworzone rozwiązania do wszystkich zadań

4.5.3. Check Python Version

  • Filename: python_version.py
  • Lines of code to write: 0 lines
  • Estimated time of completion: 5 min
  1. Stwórz skrypt o nazwie python_version.py (nazwa skryptu będzie zawsze wpisana w sekcji “About”)

  2. Plik ma mieć zawartość:

    import sys
    
    print(sys.version)
    
  3. Uruchom go w swoim IDE (menu Run -> Run... -> nazwa Twojego skryptu)

  4. Jaka wersja Python jest zainstalowana?

The whys and wherefores:
 
  • Czy Python działa
  • Jaka jest wersja Python
  • Korzystanie z print
  • Umiejętność uruchamiania skryptów
  • Szukanie rozwiązań zadań z książki

4.5.4. Check Python Environment

  • Filename: python_env.py
  • Lines of code to write: 0 lines
  • Estimated time of completion: 5 min
  1. Stwórz plik o nazwie python_env.py

  2. Plik ma mieć zawartość:

    import sys
    import os
    
    print(f'Installation: {sys.executable}')
    print(f'Virtualenv: {os.getenv("VIRTUAL_ENV")}')
    
  3. Uruchom go w swoim IDE (menu Run -> Run... -> nazwa Twojego skryptu)

  4. Gdzie Python jest zainstalowany?

  5. Czy korzystasz z “Virtualenv”?

  6. Upewnij się, że w linijce z “Virtualenv” nie masz None

The whys and wherefores:
 
  • Czy Python działa
  • Jaka jest wersja Python
  • Czy korzystasz z Virtualenv
  • Korzystanie z print
  • Umiejętność uruchamiania skryptów
  • Szukanie rozwiązań zadań z książki

4.5.5. Know thou IDE

  • Lines of code to write: 0 lines
  • Estimated time of completion: 10 min
  1. Jak zrobić w Twoim IDE:

    • Run…
    • Run in console
    • Debug…
    • Python Console
    • Terminal
    • Full Screen
    • Distraction Free Mode
    • Reformat Code
    • Scope
  2. Jakie są skróty klawiszowe do poszczególnych opcji?

  3. Czym się różni Run... od Debug...?

  4. Czym się różni Python Console od Terminal

  5. Czym się różni Distraction Free Mode od Full Screen

  6. Ustaw Scope tak, aby ukryć katalog z Virtualenv

The whys and wherefores:
 
  • Korzystanie z IDE
  • Uruchamianie debuggera
  • Znajomość różnicy między uruchamianiem i debuggingiem
  • Znajomość różnicy między terminalem i konsolą

4.5.6. Spellchecker

  • Lines of code to write: 0 lines
  • Estimated time of completion: 3 min
  1. Zainstaluj plugin ‘Hunspell’
  2. Pobierz z https://github.com/LibreOffice/dictionaries słownik .dic oraz .aff dla języka polskiego
  3. Skonfiguruj IDE do korzystania z tego słownika
The whys and wherefores:
 
  • Korzystanie z IDE
  • Konfiguracja IDE