# Raspbian

Raspbian komt niet met de allerlaatste versie van Python en er is ook geen package te vinden met de allerlaatste versie, daarom gaan we Python zelf bouwen en installeren.

# Internetverbinding

Controleer eerst of je internetverbinding hebt via de browser.

Opgelet

Op school moet je met Artevelde HS Open verbinden en naar http://1.1.1.1 (opens new window) gaan en inloggen met korte gebruikersnaam en wachtwoord. Je zal dezelfde pagina opnieuw krijgen. Test of je verbinding hebt door naar een webpagina te gaan.

# Voorbereiding

Open Terminal en installeer enkele ontbrekende pakketten die nodig zijn om Python te bouwen.

$ sudo apt-get update
$ sudo apt-get install -y  build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev

# Downloaden

Ga naar de map /usr/src met de opdracht cd (change directory). Download in de broncode van de officiële website in deze map met het programma wget en decomprimeer het gedownloade bestand met het programma tar.

$ cd /usr/src
$ sudo wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
$ sudo tar -xf Python-3.8.0.tgz

# Bouwen

$ cd /usr/src/Python-3.8.0/
$ sudo ./configure --enable-optimizations
$ sudo make

# Installeren

$ cd /usr/src/Python-3.8.0/
$ sudo make altinstall

Opmerking

Met install overschrijf je de python3 executable, met altinstall wordt er een

Om python3 aan de nieuwe versie maken we een symbolic link met de naam python3 naar python3.8

$ cd /usr/src/Python-3.8.0/
$ ln -sf /usr/local/bin/python3.8 /usr/local/bin/python3

Sluit het Terminal venster en open opnieuw

$ python3 --version
Python 3.8.0
$ _

# Test

$ cd ~
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
$ . venv/bin/activate
$ pip install Flask

Maak een nieuw bestand met nano.

$ nano hello.py
# ./python/flask_hello/hello.py
from flask import Flask
from flask import escape
from flask import request
app = Flask(__name__)


@app.route('/')
def hello_world() -> str:
    who = escape(request.args.get('who', 'world'))
    return f'hello, {who}\n'
1
2
3
4
5
6
7
8
9
10
11

Sla het bestand op met Ctrl+O en kies Y, en sluit de applicatie met Ctrl+X

$ export FLASK_APP=hello.py
$ flask run

Om de webserver via het publiek IP-adres bereikbaar te maken, vraag je eerst het IP-adres op met hostname en voeg je --host=0.0.0.0 toe aan de run opdracht.

$ hostname -I
$ flask run --host=0.0.0.0
© 2024 Arteveldehogeschool Laatst bijgewerkt: 14/2/2020, 11:07:52