Kom i gang med Python

https://kstigen.github.io/getting-started-python/

Agenda

  • Håndtering av pythonversjoner
  • Virtuelle miljøer
  • Installasjon av pakker
  • Lag en applikasjon

Håndtering av pythonversjoner

  • Conda
  • PyEnv

Conda

Conda er pakkemanageren til suiten Anaconda. Anaconda er en større suite for installering av både pakker og python-versjoner. Den er stor, tung og har opphav i data science miljøet.

PyEnv

PyEnv gjør en ting, og den ene tingen. Den håndterer forskjellige python-versjoner. Kan sammenlignes med rbenv, jenv osv.

I denne workshopen kommer vi til å ta i bruk pyenv, da foredragsholderen foretrekker den. Hva du vil bruke etter denne workshopen er opp til deg.

Oppgave 1

Installer PyEnv

Tips

  • Sørg for at pyenv er på PATH
  • Sørg for at eval "$(pyenv init --path)" kjøres fra din .profile/.bash_profile
  • Sørg for at eval "$(pyenv init -)" kjøres fra din .bashrc

Oppgave 2

Installer python-versjoner

  • Installer versjon 3.10.2 av Python
  • Installer versjon 2.7.18 av Python

Tips

pyenv help

Oppgave 3

Kjør forskjellige python-versjoner i forskjellige kataloger

  • Lag deg to kataloger py2 og py3
  • Definer py2 til å benytte versjon 2.7.18 av python
  • Definer py3 til å benytte versjon 3.10.2 av python
  • Verifiser oppsettet med å kjøre python --version i hver av katalogene

Tips

pyenv help

Videre til neste del..

Håndtering av virtuelle miljøer

  • Conda
  • VirtualEnv (venv)
  • Pipenv
  • Conda
  • VirtualEnv (venv)
  • Pipenv

Siden Python3.6 er følgende den foretrukne måten å opprette virtuelle miljøer på

python -m venv [path-to-venv]

Opprette et virtuelt miljø

python -m venv [path-to-venv]

Aktiver det virtuelle miljøet

source [path-to-venv]/bin/activate

Installere en pakke i det virtuelle miljøet

pip install [pakkenavn]

Deaktiver det virtuelle miljøet

deactivate

Oppgave 4

Opprett ditt første virtuelle miljø

  • Lag deg katalogen py3-venv1
  • Definer py3-venv1 til å benytte versjon 3.10.2 av python
  • Lag et virtuelt miljø inne i katalogen py3-venv1
  • Aktiver det virtuelle miljøet (source venv/bin/activate)
  • Verifiser at ingen pakker er installert i det nye miljøet (pip freeze)
  • Installer siste versjon av pakken requests (pip install requests)
  • Verifiser at pakken (og dens dependencies) har blitt installert (pip freeze)
  • Deaktiver det virtuelle mijøet (deactivate)

Tips

python -m venv venv
Ser du noen fordeler/ulemper med denne måten å opprette virtuelle miljøer på?

pyenv-virtualenv

Plugin til pyenv som håndterer virtuelle miljøer på unix-like systemer.

Den flytter det virtuelle miljøet ditt ut av prosjektkatalogen

Opprette et virtuelt miljø

pyenv virtualenv [python-versjon] [navn-på-miljø]

pyenv virtualenv 3.10.2 prosjekt1

Aktivere et virtuelt miljø

pyenv activate [navn-på-miljø]

pyenv activate prosjekt1

Deaktivere et virtuelt miljø

pyenv deactivate

Slette et virtuelt miljø

pyenv uninstall [navn-på-miljø]

pyenv uninstall prosjekt1

Oppgave 5

Installer pyenv-virtualenv

Tips

Sørg for at eval "$(pyenv virtualenv-init -)" kjøres fra din .bashrc

Oppgave 6

Opprett et virtuelle miljø med pyenv-virtualenv

  • Lag deg katalogen py3-pyenv1
  • Definer py3-pyenv1 til å benytte versjon 3.10.2 av python
  • Lag et virtuelt miljø for prosjektet py3-venv1
  • Aktiver det virtuelle miljøet
  • Verifiser at ingen pakker er installert i det nye miljøet (pip freeze)
  • Installer siste versjon av pakken requests (pip install requests)
  • Verifiser at pakken (og dens dependencies) har blitt installert (pip freeze)
  • Deaktiver det virtuelle mijøet

Tips

pyenv help virtualenv

Installasjon av pakker

Installere siste versjon av en pakke

pip install [pakkenavn]

Installere en spesifikk versjon av en pakke

pip install [pakkenavn]==[versjon]

Lagre pakkedetaljer til fil

pip freeze > requirements.txt

Installere pakker fra fil

pip install -r requirements.txt

Installere en spesifikk versjon av en pakke

~=Compatible release clause
==Version matching clause
!=Version exclusion clause
<=, >=Inclusive ordered comparison clause
<, >Exclusive ordered comparison clause
===Arbitrary equality clause.

Oppgave 7

Lag en enkel applikasjon som henter Chuck Norris quotes

  • Lag deg katalogen chuck-quotes
  • Lag et virtuelt miljø for prosjektet
  • Aktiver det virtuelle miljøet
  • Installer siste versjon av pakken requests (pip install requests)
  • Verifiser at pakken (og dens dependencies) har blitt installert (pip freeze)
  • Bruk requests-biblioteket og hent en quote med python

Tips