Kapitel 1. Einführung in Python
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Egal, ob du Journalist, Analyst oder angehender Datenwissenschaftler bist, du hast dieses Buch wahrscheinlich in die Hand genommen, weil du lernen willst, wie du Daten programmatisch analysieren, deine Ergebnisse zusammenfassen und sie anderen klar mitteilen kannst. Du könntest deine Ergebnisse in einem Bericht, einer Grafik oder einer zusammenfassenden Statistik darstellen. Im Wesentlichen versuchst du, eine Geschichte zu erzählen.
Im traditionellen Geschichtenerzählen oder Journalismus wird oft eine einzelne Geschichte verwendet, um die allgemeinen Ergebnisse oder Trends zu veranschaulichen. Bei dieser Art des Geschichtenerzählens werden die Daten zur Nebensache. Andere Geschichtenerzähler, wie Christian Rudde, Autor von Datacylsm (Broadway Books) und einer der Gründer von OkCupid, sind jedoch der Meinung, dass die Daten selbst das Hauptthema sein sollten.
Zu Beginn musst du das Thema bestimmen, das du erforschen willst. Vielleicht interessierst du dich für die Kommunikationsgewohnheiten verschiedener Menschen oder Gesellschaften. In diesem Fall könntest du mit einer bestimmten Frage beginnen (z. B. Welche Eigenschaften zeichnen den erfolgreichen Informationsaustausch zwischen Menschen im Internet aus?). Oder du interessierst dich für historische Baseball-Statistiken und fragst dich, ob sie Veränderungen des Spiels im Laufe der Zeit aufzeigen.
Nachdem du dein Interessengebiet festgelegt hast, musst du Daten finden, die du untersuchen kannst, um dein Thema weiter zu erforschen. Im Fall von menschlichem Verhalten könntest du untersuchen, was Menschen auf Twitter teilen, indem du Daten aus der Twitter-API ziehst. Wenn du in die Geschichte des Baseballs eintauchen willst, könntest du die Baseball-Datenbank von Sean Lahman nutzen.
Die Datensätze von Twitter und Baseball sind Beispiele für große, allgemeine Datensätze, die gefiltert und in überschaubaren Stücken analysiert werden sollten, um deine spezifischen Fragen zu beantworten. Manchmal sind kleinere Datensätze genauso interessant und aussagekräftig, vor allem wenn dein Thema ein lokales oder regionales Problem berührt. Betrachten wir ein Beispiel.
Während sie dieses Buch schrieb, las eine der Autorinnen einen Artikel über ihre öffentliche High School,1 die Berichten zufolge damit begonnen hatte, von den Abschlussschülern eine Gebühr von 20 Dollar und 200 Dollar pro Reihe für die besten Plätze bei der Abschlussfeier zu verlangen.
In den Lokalnachrichten heißt es: "Die neuen Gebühren sind Teil der Bemühungen, die geschätzten 12.000 Dollar an Abschlusskosten für die Manatee High School zu decken, nachdem der finanziell angeschlagene Schulbezirk seinen Beitrag von 3.400 Dollar in diesem Jahr zurückgezogen hat".
Der Artikel erklärt, warum die Abschlusskosten im Vergleich zum Budget des Schulbezirks so hoch sind. Er erklärt jedoch nicht, warum der Schulbezirk nicht in der Lage war, seinen üblichen Beitrag zu leisten. Die Frage bleibt: Warum ist der Schulbezirk Manatee County so knapp bei Kasse, dass er seinen regulären Beitrag für die Abschlussklasse nicht leisten kann?
Die anfänglichen Fragen, die du bei deiner Untersuchung hast, führen oft zu tiefergehenden Fragen, die ein Problem definieren. Zum Beispiel: Wofür hat der Bezirk Geld ausgegeben? Wie hat sich das Ausgabenverhalten des Bezirks im Laufe der Zeit verändert?
Wenn wir unser spezifisches Themengebiet und die Fragen, die wir beantworten wollen, festlegen, können wir die Daten bestimmen, die wir suchen müssen. Nachdem wir diese Fragen formuliert haben, müssen wir als erstes nach den Ausgaben- und Haushaltsdaten des Schulbezirks Manatee County suchen.
Bevor wir fortfahren, wollen wir uns einen kurzen Überblick über den gesamten Prozess verschaffen, von der Identifizierung eines Problems bis hin zur fertigen Geschichte (siehe Abbildung 1-1).
Sobald du deine Fragen identifiziert hast, kannst du damit beginnen, Fragen zu deinen Daten zu stellen, wie zum Beispiel: Welche Datensätze erzählen am besten die Geschichte, die ich vermitteln möchte? Welche Datensätze befassen sich eingehend mit dem Thema? Was ist das übergeordnete Thema? Welche Datensätze sind mit diesen Themen verbunden? Wer könnte diese Daten verfolgen oder aufbewahren? Sind diese Datensätze öffentlich zugänglich?
Tipp
Wenn du mit dem Storytelling beginnst, solltest du dich darauf konzentrieren, die Fragen zu recherchieren, die du beantworten willst. Dann kannst du herausfinden, welche Datensätze für dich am wertvollsten sind. In dieser Anfangsphase solltest du dich nicht zu sehr mit den Tools beschäftigen, die du für die Datenanalyse oder die Datenaufbereitung verwenden wirst.
Sobald du die gewünschten Datensätze identifiziert und erfasst hast, musst du sie in ein brauchbares Format bringen. In den Kapiteln 3, 4 und 5 lernst du verschiedene Techniken kennen, um Daten programmgesteuert zu erfassen und von einer Form in eine andere umzuwandeln. Kapitel 6 befasst sich mit den logistischen Aspekten der Interaktion von Mensch zu Mensch bei der Datenerfassung und geht kurz auf die rechtlichen Aspekte ein. In den Kapiteln 3 bis 5 zeigen wir dir, wie du Daten aus CSV-, Excel-, XML-, JSON- und PDF-Dateien extrahierst, und in den Kapiteln 11, 12 und 13 lernst du, wie du Daten aus Websites und APIs extrahierst.
Hinweis
Wenn du einige dieser Akronyme nicht kennst, mach dir keine Sorgen! Sie werden ausführlich erklärt, sobald sie uns begegnen, ebenso wie andere Fachbegriffe, mit denen du vielleicht noch nicht vertraut bist.
Nachdem du die Daten erfasst und umgewandelt hast, beginnst du mit deiner ersten Datenexploration. Hier suchst du nach Geschichten, die die Daten aufdecken könnten - und bestimmst gleichzeitig, was nützlich ist und was weggeworfen werden kann. Du spielst mit den Daten, indem du sie in Gruppen einteilst und nach Trends in den einzelnen Bereichen suchst. Dann kombinierst du Datensätze, um die Punkte miteinander zu verbinden, größere Trends zu erkennen und zugrundeliegende Unstimmigkeiten aufzudecken. Durch diesen Prozess lernst du, wie du die Daten bereinigst und in deinen Datensätzen verborgene Probleme erkennst und löst.
Während du in den Kapiteln 7 und 8 lernst, wie du Daten analysierst und bereinigst, wirst du nicht nur Python verwenden, sondern auch andere Open-Source-Tools kennenlernen. Bei der Behandlung von Datenproblemen, auf die du stoßen könntest, lernst du, wie du entscheidest, ob du ein Bereinigungsskript schreibst oder ein vorgefertigtes Konzept verwendest. In Kapitel 7 erfahren wir, wie du häufige Fehler wie doppelte Datensätze, Ausreißer und Formatierungsprobleme beheben kannst.
Nachdem du die Geschichte, die du erzählen willst, identifiziert, die Daten bereinigt und verarbeitet hast, werden wir untersuchen, wie du die Daten mit Python präsentieren kannst. Du wirst lernen, die Geschichte in verschiedenen Formaten zu erzählen und verschiedene Veröffentlichungsoptionen zu vergleichen. In Kapitel 10 erfährst du, wie du Daten auf einer Website präsentieren und organisieren kannst.
Kapitel 14 hilft dir, deine Datenanalyseprozesse zu skalieren, um mehr Daten in kürzerer Zeit zu erfassen. Wir werden Methoden zur Speicherung und zum Zugriff auf deine Daten analysieren und die Skalierung deiner Daten in der Cloud besprechen.
In Kapitel 14 erfährst du außerdem, wie du ein einmaliges Projekt automatisieren kannst, damit es sich selbst steuert. Indem du die Prozesse automatisierst, kannst du aus einem einmaligen Sonderbericht einen jährlichen machen. Durch diese Automatisierung kannst du dich darauf konzentrieren, deinen Storytelling-Prozess zu verfeinern, zu einer anderen Geschichte überzugehen oder zumindest deinen Kaffee nachzufüllen. Das wichtigste Werkzeug in diesem Buch ist die Programmiersprache Python. Sie hilft uns, jeden Teil des Storytelling-Prozesses zu durchlaufen, von der ersten Erkundung bis zur Standardisierung und Automatisierung.
Warum Python
Es gibt viele Programmiersprachen, warum wird in diesem Buch also Python verwendet? Je nachdem, woher du kommst, hast du vielleicht schon von einer oder mehreren der folgenden Alternativen gehört: R, MATLAB, Java, C/C++, HTML, JavaScript und Ruby. Jede dieser Sprachen hat einen oder mehrere Haupteinsatzbereiche, und einige von ihnen können für die Datenverarbeitung verwendet werden. Du kannst einen Datenverarbeitungsprozess auch in einem Programm wie Excel ausführen. Oft kannst du Excel und Python so programmieren, dass sie das gleiche Ergebnis liefern, aber eines der beiden Programme wird wahrscheinlich effizienter sein. In manchen Fällen kann ein Programm wie Excel die Aufgabe jedoch nicht bewältigen. Wir haben uns für Python entschieden, weil der Einstieg in Python leicht ist und die Datenverarbeitung einfach und unkompliziert abläuft.
Wenn du mehr über die technischen Bezeichnungen und Klassifizierungen von Python und anderen Sprachen erfahren möchtest, sieh dir Anhang A an. Diese Erklärungen werden es dir ermöglichen, dich mit anderen Analysten oder Entwicklern darüber zu unterhalten, warum du Python verwendest. Wir glauben, dass du als neuer Entwickler von der Zugänglichkeit von Python profitieren wirst, und wir hoffen, dass dieses Buch eine von vielen nützlichen Referenzen in deinem Werkzeugkasten zur Datenverarbeitung sein wird.
Abgesehen von den Vorteilen, die Python als Sprache bietet, hat es auch eine der offensten und hilfreichsten Communities. Keine Gemeinschaft ist perfekt, aber die Python-Gemeinschaft arbeitet daran, ein unterstützendes Umfeld für Neulinge zu schaffen: Manchmal geschieht dies mit lokal veranstalteten Tutorien, kostenlosen Kursen und Treffen, und manchmal mit größeren Konferenzen, auf denen Menschen zusammenkommen, um Probleme zu lösen und Wissen auszutauschen.
Eine größere Gemeinschaft hat offensichtliche Vorteile - es gibt Leute, die deine Fragen beantworten können, Leute, die dir beim Brainstorming für die Struktur deines Codes oder Moduls helfen können, Leute, von denen du lernen kannst, und gemeinsamen Code, auf dem du aufbauen kannst. Weitere Informationen findest du in Anhang B.
Die Gemeinschaft existiert, weil die Menschen sie unterstützen. Wenn du zum ersten Mal mit Python anfängst, wirst du mehr von der Gemeinschaft nehmen, als du selbst beiträgst. Allerdings kann die Gemeinschaft auch von Menschen, die keine Experten sind, eine Menge lernen. Wir ermutigen dich, deine Probleme und Lösungen zu teilen. Damit hilfst du der nächsten Person, die die gleichen Probleme hat, und du entdeckst vielleicht einen Fehler, der in einem Open-Source-Tool behoben werden muss.
Hinweis
Viele Mitglieder der Python-Gemeinschaft haben nicht mehr den frischen Blick, den du jetzt hast. Wenn du mit dem Tippen von Python beginnst, solltest du dich als Teil der Programmiergemeinschaft betrachten. Deine Beiträge sind genauso wertvoll wie die derjenigen, die schon seit 20 Jahren programmieren.
Ohne Umschweife, lass uns mit Python anfangen!
Erste Schritte mit Python
Die ersten Schritte beim Programmieren sind die schwierigsten (nicht unähnlich den ersten Schritten, die du als Mensch machst). Denk daran, wie du mit einem neuen Hobby oder Sport angefangen hast. Der Einstieg in Python (oder jede andere Programmiersprache) wird ähnliche Ängste und Schluckauf mit sich bringen. Vielleicht hast du Glück und hast einen tollen Mentor, der dir durch die ersten Phasen hilft. Wenn nicht, hast du vielleicht Erfahrung mit ähnlichen Herausforderungen. Egal, wie du die ersten Schritte meisterst, wenn du auf Schwierigkeiten stößt, erinnere dich daran, dass dies oft der schwierigste Teil ist.
Hinweis
Wir hoffen, dass dieses Buch ein Leitfaden für dich sein kann, aber es ist kein Ersatz für eine gute Mentorenschaft oder umfassendere Erfahrungen mit Python. Nebenbei geben wir dir Tipps zu Ressourcen und Anlaufstellen, wenn du auf ein Problem stößt, das nicht gelöst wird.
Um zu vermeiden, dass wir uns in einer umfangreichen oder fortgeschrittenen Einrichtung verzetteln, werden wir eine sehr minimale Ersteinrichtung für unsere Python-Umgebung verwenden. In den folgenden Abschnitten wählen wir eine Python-Version aus, installieren Python und ein Tool, das uns mit externem Code und Bibliotheken hilft, und installieren einen Code-Editor, damit wir unseren Code schreiben und ausführen können.
Welche Python-Version
Du musst auswählen, welche Version von Python du verwenden möchtest. Python-Versionen sind eigentlich Versionen des sogenannten Python-Interpreters. Mit dem Interpreter kannst du Python auf deinem Computer lesen, schreiben und ausführen. Wikipedia beschreibt ihn wie folgt:
In der Informatik ist ein Interpreter ein Computerprogramm, das Anweisungen, die in einer Programmier- oder Skriptsprache geschrieben wurden, direkt ausführt, ohne sie vorher in ein Maschinensprachprogramm zu kompilieren.
Niemand wird von dir verlangen, dass du diese Definition auswendig lernst, also mach dir keine Sorgen, wenn du sie nicht vollständig verstehst. Als Jackie mit dem Programmieren anfing, war dies der Teil in den Einführungsbüchern, bei dem sie das Gefühl hatte, dass sie nie weiterkommen würde, weil sie nicht verstand, was "Batch Compiling" bedeutet. Wenn sie das nicht verstand, wie konnte sie dann programmieren? Wir werden später über das Kompilieren sprechen, aber für den Moment fassen wir die Definition wie folgt zusammen:
Ein Interpreter ist das Computerprogramm, das deinen Python-Code liest und ausführt.
Es gibt zwei wichtige Python-Versionen (oder Interpreter), Python 2.X und Python 3.X. Die neueste Version von Python 2.X ist 2.7, die in diesem Buch verwendete Python-Version. Die aktuellste Version von Python 3.X ist Python 3.5, die auch die neueste verfügbare Python-Version ist. Gehe also davon aus, dass Code, den du für 2.7 schreibst, in 3.4 nicht funktioniert. Der Begriff, mit dem dies beschrieben wird, lautet, dass 3.4 die Abwärtskompatibilität bricht.
Du kannst Code schreiben, der sowohl mit 2.7 als auch mit 3.4 funktioniert; das ist jedoch keine Voraussetzung und auch nicht der Schwerpunkt dieses Buches. Sich am Anfang damit zu beschäftigen, ist so, als würdest du in Florida leben und dir Gedanken darüber machen, wie du bei Schnee fahren kannst. Eines Tages wirst du diese Fähigkeit vielleicht brauchen, aber zum jetzigen Zeitpunkt ist das kein Problem.
Einige, die dieses Buch lesen, fragen sich wahrscheinlich, warum wir uns für Python 2.7 und nicht für Python 3.4 entschieden haben. Das ist in der Python-Gemeinde ein heiß diskutiertes Thema. Python 2.7 ist ein gut genutztes Release, während 3.X gerade eingeführt wird. Wir wollen sicherstellen, dass du leicht lesbare und leicht zugängliche Ressourcen findest und dass dein Betriebssystem und deine Dienste die von dir verwendete Python-Version unterstützen.
Hinweis
Ein großer Teil des Codes in diesem Buch funktioniert auch mit Python 3. Wenn du einige der Beispiele mit Python 3 ausprobieren möchtest, kannst du das gerne tun. Wir möchten jedoch, dass du dich auf das Erlernen von Python 2.7 konzentrierst und nach Abschluss dieses Buches zu Python 3 übergehst. Weitere Informationen zu den Änderungen, die erforderlich sind, um den Code Python-3-kompatibel zu machen, findest du in der Änderungsdokumentation.
Im Laufe dieses Buches wirst du sowohl selbst geschriebenen Code als auch von anderen (großartigen) Leuten geschriebenen Code verwenden. Die meisten dieser externen Codes funktionieren für Python 2.7, aber vielleicht noch nicht für 3.4. Wenn du Python 3 verwenden würdest, müsstest du sie neu schreiben - und wenn du viel Zeit damit verbringst, jedes Stück Code, das du anfasst, neu zu schreiben und zu bearbeiten, wird es sehr schwierig sein, dein erstes Projekt fertigzustellen.
Betrachte deinen ersten Code wie einen Rohentwurf. Später kannst du zurückgehen und sie mit weiteren Überarbeitungen verbessern. Beginnen wir zunächst mit der Installation von Python.
Python auf deinem Rechner einrichten
Die gute Nachricht ist, dass Python auf allen Betriebssystemen laufen kann. Die schlechte Nachricht ist, dass nicht alle Betriebssysteme die gleichen Voraussetzungen haben. Es gibt zwei wichtige Betriebssysteme, die wir in der Reihenfolge ihrer Beliebtheit für die Programmierung von Python besprechen werden: Mac OS X und Windows. Wenn du mit Mac OS X oder Linux arbeitest, hast du wahrscheinlich schon Python installiert. Für eine umfassendere Installation empfehlen wir dir, im Internet nach deiner Linux-Variante und "advanced Python setup" zu suchen, um weitere Tipps zu erhalten.
Hinweis
OS X und Linux sind etwas einfacher zu installieren und mit Python-Code auszuführen als Windows. Um besser zu verstehen, warum es diese Unterschiede gibt, empfehlen wir, die Geschichte von Windows und Unix-basierten Betriebssystemen zu lesen. Vergleiche die Unix-befürwortende Sichtweise in Hadeel Tariq Al-Rayes' "Studying Main Differences Between Linux & Windows Operating Systems" mit Microsofts "Functional Comparison of UNIX and Windows".
Wenn du Windows verwendest, solltest du in der Lage sein, den gesamten Code auszuführen. Allerdings kann es sein, dass bei Windows-Setups zusätzliche Installationen für Code-Compiler, zusätzliche Systembibliotheken und Umgebungsvariablen erforderlich sind.
Um deinen Computer für die Verwendung von Python einzurichten, befolge die Anweisungen für dein Betriebssystem. Wir werden eine Reihe von Tests durchführen, um sicherzugehen, dass alles so funktioniert, wie es sollte, bevor wir mit dem nächsten Kapitel fortfahren.
Mac OS X
Beginne damit, Terminal zu öffnen, eine Befehlszeilenschnittstelle, mit der du mit deinem Computer interagieren kannst. Als PCs eingeführt wurden, waren Befehlszeilenschnittstellen die einzige Möglichkeit, mit Computern zu arbeiten. Heute verwenden die meisten Menschen Betriebssysteme mit grafischer Oberfläche, da sie leichter zugänglich und weit verbreitet sind.
Es gibt zwei Möglichkeiten, Terminal auf deinem Computer zu finden. Die erste ist über das Spotlight von OS X. Klicke auf das Spotlight-Symbol - die Lupe in der oberen rechten Ecke deines Bildschirms - und gib "Terminal" ein. Wähle dann die Option aus, die neben der Klassifizierung der Programme angezeigt wird.
Nachdem du es ausgewählt hast, öffnet sich ein kleines Fenster, das wie in Abbildung 1-2 aussieht (beachte, dass deine Version von Mac OS X anders aussehen kann).
Du kannst Terminal auch über den Finder starten. Terminal befindet sich in deinem Dienstprogramme-Ordner: Anwendungen → Dienstprogramme → Terminal.
Nachdem du Terminal ausgewählt und gestartet hast, solltest du etwas wie Abbildung 1-3 sehen.
Zu diesem Zeitpunkt ist es eine gute Idee, eine leicht zugängliche Verknüpfung zu Terminal an einem Ort zu erstellen, der für dich gut funktioniert, z. B. im Dock. Dazu klickst du einfach mit der rechten Maustaste auf das Terminal-Symbol in deinem Dock und wählst Optionen und dann "Im Dock behalten". Jedes Mal, wenn du eine Übung in diesem Buch ausführst, musst du Terminal aufrufen.
Und schon bist du fertig. Auf Macs ist Python bereits vorinstalliert, so dass du nichts weiter tun musst. Wenn du deinen Computer für die künftige Nutzung der fortgeschrittenen Bibliotheken einrichten möchtest, wirf einen Blick auf Anhang D.
Windows 8 und 10
Auf Windows ist Python nicht installiert, aber es gibt ein spezielles Windows-Installationsprogramm für Python. Du musst herausfinden, ob du mit einem 32- oder 64-Bit-Windows-System arbeitest. Wenn du mit einem 64-Bit-Windows-System arbeitest, musst du den x86-64 MSI Installer von der Download-Seite herunterladen. Wenn nicht, kannst du den x86 MSI Installer verwenden.
Wenn du das Installationsprogramm heruntergeladen hast, doppelklicke einfach darauf und folge den Eingabeaufforderungen zur Installation. Wir empfehlen, die Installation für alle Nutzer durchzuführen. Klicke auf die Kästchen neben den Optionen, um sie alle auszuwählen, und wähle außerdem aus, dass die Funktion auf deiner Festplatte installiert werden soll (siehe Abbildung 1-4).
Nachdem du Python erfolgreich installiert hast, musst du Python zu deinen Umgebungseinstellungen hinzufügen. Dadurch kannst du mit Python in deinem cmd-Dienstprogramm (der Windows-Befehlszeilenschnittstelle) interagieren. Suche dazu einfach auf deinem Computer nach "Umgebungsvariable". Wähle die Option "Systemumgebungsvariablen bearbeiten" und klicke dann auf die Schaltfläche Umgebungsvariablen... (siehe Abbildung 1-5).
Scrolle in der Liste "Systemvariablen" nach unten, wähle die Variable Path
und klicke dann auf "Bearbeiten". (Wenn du keine Path
Variable in der Liste hast, klicke auf "Neu", um eine neue Variable zu erstellen).
Füge dies an das Ende deines Path
Wertes an und achte darauf, dass du die einzelnen Pfade durch ein Semikolon trennst (auch am Ende des bestehenden Wertes, falls es einen gab):
C:\Python27;C:\Python27\Lib\site-packages\;C:\Python27\Scripts\;
Das Ende deiner Path
Variable sollte ähnlich aussehen wie in Abbildung 1-6. Wenn du mit der Bearbeitung fertig bist, klicke auf "OK", um deine Einstellungen zu speichern .
Testfahrten mit Python
Jetzt solltest du in der Kommandozeile (Terminal oder cmd2) und bereit sein, Python zu starten. Du solltest eine Zeile sehen, die mit einem $
auf einem Mac oder einem >
auf Windows endet. Gib nach der Eingabeaufforderung python
ein und drücke die Eingabetaste (oder Enter):
$ python
Wenn alles richtig funktioniert, solltest du eine Eingabeaufforderung in Python (>>>
) erhalten, wie in Abbildung 1-7 zu sehen.
Wenn du diese Eingabeaufforderung nicht siehst, solltest du sicherstellen, dass deine Variable Path
richtig eingerichtet ist (wie im vorherigen Abschnitt beschrieben) und alles richtig installiert wurde. Wenn du die 64-Bit-Version verwendest, musst du Python eventuell deinstallieren (du kannst das Installations-MSI verwenden, das du heruntergeladen hast, um deine Installation zu ändern, zu deinstallieren und zu reparieren) und versuchen, die 32-Bit-Version zu installieren. Wenn das nicht funktioniert, empfehlen wir dir, nach dem Fehler zu suchen, der während der Installation auftritt.
>>> Versus $ oder >
Die Python-Eingabeaufforderung unterscheidet sich von der System-Eingabeaufforderung ($
unter Mac/Linux, >
unter Windows). Anfänger machen oft den Fehler, Python-Befehle in die Standard-Eingabeaufforderung des Terminals einzugeben und Terminal-Befehle in den Python-Interpreter zu tippen. Das führt immer zu Fehlern. Wenn du eine Fehlermeldung erhältst, solltest du das im Hinterkopf behalten und sicherstellen, dass du Python-Befehle nur im Python-Interpreter eingibst.
Wenn du einen Befehl in deinen Python-Interpreter eingibst, der in deinem Systemterminal eingegeben werden sollte, bekommst du wahrscheinlich eine NameError
oder SyntaxError
. Wenn du einen Python-Befehl in dein Systemterminal eingibst, bekommst du wahrscheinlich einen Bash-Fehler, command not found
.
Wenn der Python-Interpreter startet, erhalten wir ein paar hilfreiche Informationen. Einer dieser hilfreichen Hinweise zeigt die Python-Version an, die wir verwenden(Abbildung 1-7 zeigt Python 2.7.5). Das ist wichtig für die Fehlersuche, denn manchmal gibt es Befehle oder Werkzeuge, die du mit einer Python-Version verwenden kannst und die in einer anderen nicht funktionieren.
Testen wir nun unsere Python-Installation mit einer schnellen import
Anweisung. Gib die folgende Anweisung in deinen Python-Interpreter ein:
import
sys
import
pprint
pprint
.
pprint
(
sys
.
path
)
Die Ausgabe, die du erhalten solltest, ist eine Liste mit einer Reihe von Verzeichnissen oder Speicherorten auf deinem Computer. Diese Liste zeigt, wo Python nach Python-Dateien sucht. Diese Befehle können sehr nützlich sein, wenn du Fehler beim Python-Import beheben willst.
Hier ist eine Beispielausgabe (deine Liste wird etwas anders aussehen; beachte auch, dass einige Zeilen umbrochen wurden, um in die Seitenbeschränkungen dieses Buches zu passen):
['', '/usr/local/lib/python2.7/site-packages/setuptools-4.0.1-py2.7.egg', '/usr/local/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg', '/usr/local/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/ lib/python27.zip', '/usr/local/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/ lib/python2.7', '/usr/local/Cellar/python/2.7.7_1/Frameworks/Python.framework/Versions/2.7/ lib/python2.7/lib-tk', '/Library/Python/2.7/site-packages', '/usr/local/lib/python2.7/site-packages']
Wenn dein Code nicht erfolgreich war, hast du eine Fehlermeldung erhalten. Der einfachste Weg, Python-Fehler zu debuggen, ist, sie zu lesen. Wenn du zum Beispiel import sus
statt import sys
eingibst, erhältst du die folgende Ausgabe:
>>> import sus Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named sus
Lies die letzte Zeile: ImportError: No module named sus
. Diese Zeile sagt dir, dass es einen Importfehler gibt, weil es kein sus
Modul in Python gibt. Python hat die Dateien auf deinem Computer durchsucht und konnte keine importierbare Python-Datei oder einen Ordner mit Dateien namens sus
.
Wenn du in dem Code, den du aus diesem Buch überträgst, einen Tippfehler machst, bekommst du wahrscheinlich einen Syntaxfehler. Im folgenden Beispiel haben wir uns absichtlich bei pprint.pprint
vertippt und stattdessen pprint.print(sys.path())
eingegeben:
>>>
pprint
.
(
sys
.
path
())
File
"<stdin>"
,
line
1
pprint
.
(
sys
.
path
())
^
SyntaxError
:
invalid
syntax
Wir haben es absichtlich falsch geschrieben, aber beim Schreiben dieses Buches hat sich einer der Autoren vertippt. Du musst dich an die Behebung von Fehlern gewöhnen, wenn sie auftreten. Du solltest dir darüber im Klaren sein, dass Fehler ein Teil des Lernprozesses als Entwickler/in sind. Wir wollen sicherstellen, dass du dich mit Fehlern wohlfühlst; du solltest sie als Chance sehen, etwas Neues über Python und das Programmieren zu lernen.
Import und Syntaxfehler gehören zu den häufigsten Fehlern, die beim Entwickeln von Code auftreten, und sie sind am einfachsten zu beheben. Wenn du auf einen Fehler stößt, helfen dir Web-Suchmaschinen bei der Fehlerbehebung.
Bevor du fortfährst, musst du den Python-Interpreter beenden. Damit kehrst du zur Eingabeaufforderung Terminal oder cmd zurück. Zum Beenden gibst du Folgendes ein:
exit
()
Jetzt sollte deine Eingabeaufforderung wieder $
(Mac/Linux) oder >
(Windows) lauten. Wir werden im nächsten Kapitel mehr mit dem Python-Interpreter spielen. Jetzt wollen wir erst einmal ein Tool namens pip installieren.
Pip installieren
pip ist ein Kommandozeilen-Tool, mit dem du gemeinsam genutzten Python-Code und Bibliotheken verwalten kannst. Programmiererinnen und Programmierer lösen oft dieselben Probleme, sodass sie ihren Code teilen, um anderen zu helfen. Das ist ein wichtiger Teil der Open-Source-Softwarekultur.
Mac-Benutzer können pip installieren, indem sie ein einfaches, herunterladbares Python-Skript in Terminal ausführen. Du musst dich in demselben Ordner befinden, in den du das Skript heruntergeladen hast. Wenn du das Skript z. B. in deinen Downloads-Ordner heruntergeladen hast, musst du von deinem Terminal aus in diesen Ordner wechseln. Eine einfache Abkürzung auf dem Mac ist es, die Befehlstaste (Cmd) zu drücken und dann den Ordner " Downloads" in dein Terminal zu ziehen. Eine andere Möglichkeit ist, einige einfache Bash-Befehle einzugeben (eine ausführliche Einführung in die Bash findest du in Anhang C). Beginne mit der Eingabe des folgenden Befehls in dein Terminal:
cd ~/Downloads
Dadurch wird dein Computer angewiesen, in den Unterordner "Downloads" in deinem Home-Ordner zu wechseln. Um sicherzustellen, dass du dich in deinem Downloads-Ordner befindest, gibst du Folgendes in dein Terminal ein:
pwd
Damit wird das Terminal aufgefordert, dein aktuelles Arbeitsverzeichnis anzuzeigen, also den Ordner, in dem du dich gerade befindest. Es sollte etwas wie das Folgende ausgeben:
/Users/your_name/Downloads
Wenn deine Ausgabe ähnlich aussieht, kannst du die Datei einfach mit diesem Befehl ausführen:
sudo python get-pip.py
Da du einen sudo
Befehl ausführst (d.h. du verwendest spezielle Berechtigungen, um den Befehl auszuführen, damit er Pakete an eingeschränkten Orten installieren kann), wirst du aufgefordert, dein Passwort einzugeben. Dann solltest du eine Reihe von Meldungen sehen, die das Paket installieren.
Hinweis
Unter Windows hast du pip wahrscheinlich bereits installiert (es ist im Windows-Installationspaket enthalten). Um das zu überprüfen, kannst du pip install ipython
in dein cmd-Programm eingeben. Wenn du eine Fehlermeldung erhältst, lade das pip-Installationsskript herunter und benutze chdir C:\Users\
YOUR_NAME\Downloads, um in deinen Downloads-Ordner zu wechseln (ersetze dabei den Namen deines Home-Verzeichnisses durch YOUR_NAME
). Dann solltest du die heruntergeladene Datei ausführen können, indem du python get-pip.py
eingibst. Du musst Administrator auf deinem Computer sein, um alles richtig zu installieren.
Wenn du pip verwendest, sucht dein Computer bei PyPI nach dem angegebenen Codepaket oder der Bibliothek, lädt sie auf deinen Computer herunter und installiert sie. Das bedeutet, dass du keinen Browser benutzen musst, um Bibliotheken herunterzuladen, was mühsam sein kann.
Wir sind fast fertig mit der Einrichtung. Der letzte Schritt ist die Installation unseres Code-Editors.
Installiere einen Code-Editor
Wenn du Python schreibst, brauchst du einen Code-Editor, da Python besondere Abstände, Einrückungen und Zeichenkodierungen benötigt, um richtig zu laufen. Es gibt viele Code-Editoren, aus denen du wählen kannst. Einer der Autoren dieses Buches benutzt Sublime. Er ist kostenlos, schlägt aber nach einer gewissen Zeit eine geringe Gebühr vor, um die aktuelle und zukünftige Entwicklung zu unterstützen. Du kannst Sublime hier herunterladen. Ein weiterer völlig kostenloser und plattformübergreifender Texteditor ist Atom.
Manche Leute sind sehr wählerisch, was ihre Code-Editoren angeht. Du musst zwar nicht die von uns empfohlenen Editoren verwenden, aber wir empfehlen, Vim, Vi oder Emacs zu meiden, wenn du diese Tools nicht bereits verwendest. Einige Programmierpuristen verwenden diese Tools ausschließlich für ihren Code (darunter auch einer der Autoren), weil sie den Editor komplett über die Tastatur steuern können. Wenn du dich jedoch für einen dieser Editoren entscheidest, ohne Erfahrung damit zu haben, wirst du wahrscheinlich Schwierigkeiten haben, dieses Buch durchzuarbeiten, da du zwei Dinge auf einmal lernen wirst.
Tipp
Lerne eine Sache nach der anderen und probiere ruhig mehrere Editoren aus, bis du einen findest, mit dem du einfach und frei programmieren kannst. Für die Python-Entwicklung ist es am wichtigsten, einen Editor zu haben, mit dem du dich wohl fühlst und der viele Dateitypen unterstützt (achte auf Unicode- und UTF-8-Unterstützung).
Nachdem du den Editor deiner Wahl heruntergeladen und installiert hast, starte das Programm, um sicherzustellen, dass die Installation erfolgreich war.
Optional: IPython installieren
Wenn du einen etwas fortschrittlicheren Python-Interpreter installieren möchtest, empfehlen wir die Installation der Bibliothek IPython. Einige Vorteile und Anwendungsfälle sowie die Installation von IPython werden in Anhang F beschrieben. Auch dies ist nicht zwingend erforderlich, kann aber ein nützliches Werkzeug für den Einstieg in Python sein.
Zusammenfassung
In diesem Kapitel haben wir die beiden gängigen Python-Versionen kennengelernt. Außerdem haben wir einige anfängliche Einstellungen vorgenommen, damit wir mit der Datenverarbeitung fortfahren können:
-
Wir haben Python installiert und getestet.
-
Wir haben pip installiert.
-
Wir haben einen Code-Editor installiert.
Dies ist die grundlegendste Einrichtung, die du für den Einstieg brauchst. Wenn du mehr über Python und das Programmieren lernst, wirst du komplexere Konfigurationen entdecken. Unser Ziel war es, dass du so schnell wie möglich loslegen kannst, ohne von der Einrichtung überwältigt zu werden. Wenn du dir ein fortgeschrittenes Python-Setup ansehen möchtest, findest du es in Anhang D.
Wenn du dieses Buch durcharbeitest, wirst du vielleicht auf Werkzeuge stoßen, die ein fortgeschritteneres Setup erfordern. In diesem Fall zeigen wir dir, wie du aus deinem aktuellen Basis-Setup ein komplexeres Setup erstellen kannst. Für deine ersten Schritte in Python brauchst du nur das, was wir hier gezeigt haben.
Herzlichen Glückwunsch - du hast deine Ersteinrichtung abgeschlossen und deine ersten paar Zeilen Python-Code ausgeführt! Im nächsten Kapitel werden wir uns mit den grundlegenden Python-Konzepten beschäftigen.
1 Öffentliche High Schools in den Vereinigten Staaten sind staatliche Schulen, die größtenteils aus den Steuergeldern der lokalen Gemeinschaft finanziert werden.
2 Um die Eingabeaufforderung in Windows zu öffnen, suche einfach nach Eingabeaufforderung oder öffne Alle Programme und wähle Zubehör und dann Eingabeaufforderung.
Get Data Wrangling mit Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.