Politik

Lennarts MOOC och datorkurs 2: Vi installerar Python och kopplar upp den till MongoDB

Förra veckan började jag med en liten datorkurs här på bloggen Lennarts MOOC och datorkurs 1: Vi beskriver projektet och installerar MongoDB.

Syftet är att visa hur det går till när programmerare och IT-entreprenörer snickrar ihop appar idag här i Silicon Valley. Och inte bara i Silicon Valley, för startupmarknaden är i sanning global, något som jag blev påmind om när jag var i Nairobi och pratade med lokala IT-entreprenörer där i augusti.

Vi började alltså förra veckan med att ladda ner MongoD och installera den på Windows: Lennarts MOOC och datorkurs 1: Vi beskriver projektet och installerar MongoDB

MongoDB är en mycket populär s.k. No SQL-databas och det är ett bra ställe att börja på.

Nu ska vi ladda ner ett datorspråk som vi behöver för att kommunicera med vår databas. Vi har ett antal programmeringsspråk att välja bland. De mest populära språken på kodhotellet GitHub är CSS, Java, JavaScript, PHP, Python, Ruby och Shell. Python är ett bra val, det används på Google Appengine och är mycket populärt här i Silicon Valley. Så vi väljer det.

Vi börjar med att surfa till Python.org, Python Programming Language – Official Website och sen där klicka på Download Python. Där väljer vi Python 3.3.2 Windows X86-64 MSI Installer (Windows AMD64 / Intel 64 / X86-64 binary [1] — does not include source) som är den senaste versionen av Python.

Vi laddar ner filen och sen kör vi den för att installera Python på Windows.

Så här ser det ut:





När vi väl har installerat Python, vilket tar några minuter, så är vi redo för nästa steg.
Vi öppnar ett DOS-fönster och går till den mapp som vi installerade Python i. I mitt fall c:\Python33
Där startar vi Python.exe. Och när vi har gjort det får vi ett prompt: “>>>”. Det är Pythons kommandolinje, som vi kan använda om vi vill skriva små bitar med Python kod. Vi behöver inte bara skriva en rad, vi kan skriva flera.
Men nu skriver vi http://farm4.staticflickr.com/3691/10895539353_17d392372d_n.jpg Och så får vi omedelbart svaret Heja Världen.
Vi kan också skriva in den här raden i en fil t.ex. heja.py. Lägga den filen någonstans, inte nödvändigtvis i c:\Python33. Och skriv sen heja.py. Så exekveras filen och ni för se samma resultat.

Obs, om ni får följande fel SyntaxError: Non-UTF-8 code starting with ‘\xe4’ in file C:\lennart\heja.py on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details Så ändra bara till “Heja Vaerlden” så ska vi gå igenom hur man får svenska bokstäver senare.

Nu kanske ni säger: Ja men jag kan inte ett ord Python. Var kan jag lära mig det? Så är svaret enkelt, den här mycket fina introduktionen för den som inte kan ett dugg om Python: Non-Programmer’s Tutorial for Python 3

Vi har också den här utmärkta introduktionen på hela två timmar:

En vänlig varning. Vi kör Python 3.3., som i skrivande stund är den senaste versionen. På videon ovan använder dom Python 2.7 som har en något annorlunda syntax. Så om ni är helt rudis på Python så läs bara Non-Programmer’s Tutorial for Python 3 och skippa videon.

OK, så nu har vi installerat Python 3.3 och vi har kollat att det fungerar. I förra lektionen så installerade vi redan MongoDB. Nu ska vi bara ladda ner en sak till, sen kan vi börja programmera. För att Python ska kunna kommunicera med MongoDB och så måste vi ladda ner en s.k. driver, eller en bro mellan Python och MongoDB som fungerar på Windows.

Vi hittar den på på PyMongo 2.6.3 Documentation och laddar sen ner pymongo-2.6.3.win-amd64-py3.3.exe, som finns litet längre ner på sidan.

Vi klickar på den nedladdade filen och kör den. Vi ser resultatet på den här bilden:


Klicka på “Next” och allt är klappat och klart.

Vi kan nu skriva Python-kod som manipulerar data i MongoDB.
Vi skapar först en fil som heter pymongo1.py.
I den skriver vi:

import pymongo

from pymongo import Connection
connection = Connection(‘localhost’, 27017)

db = connection.testdb

collection = db.testcollection

insert_id = collection.insert({“namn”: “Guido van Rossum”, “value”: “Pythons skapare” })
insert_id = collection.insert({“namn”: “Dwight Merriman”, “value”: “En av Mongodbs grundare” })
insert_id = collection.insert({“namn”: “Lennart”, “value”: “Pythonintresserad” })
insert_id = collection.insert({“namn”: “Silicon Valley”, “value”: “Pythonland” })

print (“Datan instoppad i MongoDB”)

Sen kör vi den genom att gå in i DOS och skriva pymongo1.py som vi förklarade tidigare. Vi bör se meddelandet Datan instoppad i MongoDB

Sen skapar vi ännu en Python-fil , pymongo2.py. I den skriver vi:

import pymongo

from pymongo import Connection
connection = Connection(‘localhost’, 27017)
db = connection.testdb
collection = db.testcollection
for post in collection.find():
print (post)

db.testcollection.remove()

Om vi nu exekverar pynmongo2.py så ser vi de data som vi har lagt in i vår testcollection i MongoDB.

C:\Python33>pymongo2.py
{‘namn’: ‘Guido van Rossum’, ‘_id’: ObjectId(‘528824aa09b7200a6474d5b2’), ‘value’: ‘Pythons skapare’}
{‘namn’: ‘Dwight Merriman’, ‘_id’: ObjectId(‘528824aa09b7200a6474d5b3’), ‘value’: ‘En av Mongodbs grundare’}
{‘namn’: ‘Lennart’, ‘_id’: ObjectId(‘528824aa09b7200a6474d5b4’), ‘value’: ‘Pythonintresserad’}
{‘namn’: ‘Silicon Valley’, ‘_id’: ObjectId(‘528824aa09b7200a6474d5b5’), ‘value’: ‘Pythonland’}

Ett sista tips. Python kommer med sin egen paket-hanterare som gör det busenkelt att installera tillägg till Python. Den heter PIP, och kan laddas ner från den här länken. Den installeras i mappen C:\Python33\scripts

Vi kommer att använda den i nästa lektion.

I nästa lektion om en vecka ska vi vidareutveckla den här lilla heja världen-appen med Python och MongoDB, bl.a. genom att lägga till ett grafiskt webbgränssnitt.

Jag har faktiskt tidigare lagt ut en nybörjarkurs i Python här på bloggen:

Lennarts MOOC och datorkurs 2: Vi installerar Python och kopplar upp den till MongoDB
Lennarts MOOC och datorkurs 3: Vi installerar Python Flask och visar data från MongoDB på webben,Lennarts MOOC och datorkurs 4: Vi vidareutvecklar vår lilla app i Python Flask, Jinja2 och MongoDB
Lennarts MOOC och datorkurs 5: Vi introducerar Google App Engine för Python och Flask/
Lennarts MOOC och datorkurs 6: Google App Engine: gå upp och pröva dina

Jag vet inte vad som hände med det första inlägget. Men man kan lätt börja med det andra.

Pressklipp:

[tags]Lennarts MOOC och datorkurs 2, Vi installerar Python och kopplar upp den till MongoDB [/tags]