|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- {
- "cells": [
- {
- "cell_type": "markdown",
- "id": "52c4cf389c15a0ef",
- "metadata": {
- "collapsed": false,
- "jupyter": {
- "outputs_hidden": false
- }
- },
- "source": [
- "# Python auf dem eigenen Computer \n",
- "\n",
- "## Was bisher geschah\n",
- "Wir haben schon mit Python programmiert - ohne es groß zu merken. Die Befehle, mit denen wir Reeborg gesteuert haben, waren Python-Befehle. Wir haben sie in einem speziellen Editor im Browser eingegeben und dann dort ausgeführt. \n",
- "Für die Zukunft wird das nicht ausreichen. Wir wollen ja Python-Programme schreiben, die wir auf unserem eigenen Computer ausführen können. Dazu müssen wir aber auf unserem Computer eine Entwicklungsumgebung installieren.\n",
- "\n",
- "## Entwicklungsumgebung\n",
- "Ganz grob besteht so eine Entwicklungsumgebung aus zwei Teilen: einem **Editor**, in dem wir den Code schreiben, und einem **Interpreter**, der den Code ausführt. Also:\n",
- "* Der Interpreter ist das Programm, das die Python-Befehle versteht und ausführt. \n",
- "* Der Editor ist das Programm, in dem wir den Code schreiben.\n",
- "\n",
- "### Interpreter\n",
- "Es gibt verschiedene Python-Interpreter, denn Python entwickelt sich noch immer weiter, d.h. es gibt verschiedene **Versionen**. Wir sollten uns für eine Version entscheiden, die einerseits aktuell ist, andererseits aber auch schon lange genug auf dem Markt ist, um stabil zu sein. Aktuell ist Python 3.12 eine gute Wahl.\n",
- "\n",
- "Diese Interpreter-Version ist für verschiedene Betriebssysteme verfügbar. Wir können sie von der [offiziellen Python-Website](https://www.python.org/) herunterladen und installieren. \n",
- "\n",
- "\n",
- "### Editor\n",
- "Es gibt viele Editoren, in denen wir Python-Code schreiben können. Einige sind speziell für Python entwickelt, andere sind allgemeine Eingabeprogramme, mit denen man auch Code in anderen Programmiersprachen schreiben kann. Einige Editoren sind kostenlos, andere kosten Geld.\n",
- "\n",
- "\n",
- "Ein sehr beliebter Editor speziell für Python ist [PyCharm](https://www.jetbrains.com/pycharm/). Er hat viele Funktionen, die das Programmieren erleichtern. Daher werden wir ihn im Kurs verwenden.\n",
- "\n",
- "Die **Professional-Version** ist für 30 Tage kostenlos. In dieser Zeit sollten Sie sich mit Ihrer Hochschul-Mailadresse bei der Firma Jetbrains [registrieren](https://www.jetbrains.com/de-de/community/education/#students). Dann können Sie die Professional-Version weiterhin kostenlos nutzen."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "9e84895eb3d81f0f",
- "metadata": {
- "collapsed": false,
- "jupyter": {
- "outputs_hidden": false
- }
- },
- "source": [
- "## PyCharm\n",
- "Im Lauf der Zeit wird sich ziemlich von Python-Code auf Ihrem Rechner ansammeln. Klar, man kann die Programme auf mehrere Dateien und Verzeichnisse aufteilen. PyCharm geht noch einen Schritt weiter und verwaltet das Ganze in **Projekten**.\n",
- "\n",
- "### Projekte\n",
- "Ein Projekt ist ein Verzeichnis mit allen Dateien, die zu einem Programm gehören. Neben dem Python-Code können auch noch andere Dateien zu einem Projekt gehören, z.B. Bilder, Textdateien, Datenbanken, etc. Auf Ihrem Rechner können Sie beliebig viele Projekte anlegen. \n",
- "\n",
- "PyCharm verwaltet alle Dateien eines Projekts und erlaubt es z.B., dass jedes Projekt seine eigenen Einstellungen hat. So ist es z.B. möglich, dass Sie in einem Projekt mit Python 3.12 arbeiten, in einem anderen Projekt aber mit Python 3.6. Oder Sie arbeiten in einem Projekt mit einer Game-Engine, in einem anderen Projekt aber mit einer Datenbank. Auch sind Projekte eine gute Möglichkeit, um den Code gemeinsam mit anderen zu entwickeln. Sie können z.B. ein Projekt auf einem Cloud-Server anlegen und dann gemeinsam mit anderen an dem Projekt arbeiten.\n",
- "\n",
- "### Requirements\n",
- "Ein Projekt kann auch spezielle Anforderungen (\"Requirements\") haben. Das sind Python-Erweiterungen, die das Projekt benötigt und die bei der Erstinstallation nicht auf Ihren Rechner kopiert wurden. Normalerweise werden diese Requirements in einer Datei `requirements.txt` gespeichert, die ebenfalls zum Projekt gehört.\n",
- "\n",
- "PyCharm kann diese Requirements automatisch installieren, wenn Sie das Projekt öffnen und eine Code-Datei anklicken. Das ist sehr praktisch, denn so müssen Sie sich nicht darum kümmern, welche Erweiterungen Sie für ein Projekt benötigen.\n",
- "\n",
- "### Unser Prog1-Projekt\n",
- "Das den Kurs begleitende Projekt, in dem neben Texten wie diesem auch die Python-Dateien gespeichert sind, heißt `Prog1Python`. Sie können es auf der [Projektseite](https://git.efi.th-nuernberg.de/gitea/hofmannol/Prog1Python) ansehen und von dort auch direkt nach PyCharm importieren.\n",
- "\n",
- "#### Herunterladen\n",
- "Starten Sie hierfür PyCharm und wählen Sie `Get from Version Control`. Geben Sie dann die URL des Projektseite (sie können diese dort auch kopieren) an. Außerdem können Sie das Verzeichnis (Directory) festlegen, unter dem Ihr Projekt auf Ihrem Rechner gespeichert werden soll. Die Voreinstellung sollte aber passen. \n",
- "\n",
- "![Laden des Projekts](img/get_from_vcs.png)\n",
- "\n",
- "Bestätigen Sie mit `Clone`. PyCharm wird das Projekt herunterladen und auf Ihrem Rechner speichern.\n",
- " \n",
- "#### Einrichten\n",
- "Öffnen Sie die Datei `00_python_auf_dem_pc.ipynb`, indem Sie im Baum der Projektdateien auf die Datei klicken. Das ist übrigens die Datei, in der dieser Text steht, den Sie gerade lesen.\n",
- "\n",
- "![Baum der Projektdateien](img/00_python_auf_dem_pc.png)\n",
- "\n",
- "Nach dem Öffnen der Datei sollte PyCharm feststellen, dass die Requirements des Projekts nicht erfüllt sind. Ihnen wird u.A. angeboten,eine virtuelle Umgebung auf Basis der Datei `requirements.txt` anzulegen. \n",
- "\n",
- "![Requirements installieren](img/create_venv.png)\n",
- "\n",
- "Diese Möglichkeit nehmen wir gerne wahr. Im sich anschließenden Dialog geben wir an, wo die nachzuladenden \n",
- "Python-Erweiterungen gespeichert werden sollen und welche Version von Python wir im Projekt verwenden wollen.\n",
- "Die vorgeschlagenen Werte sollten passen.\n",
- "\n",
- "![Virtuelle Umgebung](img/create_venv_2.png)\n",
- "\n",
- "Nach 'Ok' läd PyCharm läd die benötigten Python-Erweiterungen und installiert sie in einer Umgebung, die nur für unser Projekt gültig ist (daher virtuelle Umgebung). Ein anderes Projekt kann eine ganz andere virtuelle Umgebung besitzen. \n",
- "\n",
- "Jetzt sollte das Projekt soweit auf Ihrem Rechner vorbereitet sein, dass Sie damit arbeiten können.\n",
- "\n"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "97d34909e3946db0",
- "metadata": {
- "collapsed": false,
- "jupyter": {
- "outputs_hidden": false
- }
- },
- "source": [
- "## Assignments \n",
- "### Installation von Python\n",
- "1. Laden Sie Python von der [offiziellen Python-Website](https://www.python.org/) herunter.\n",
- "2. Führen Sie die heruntergeladene Datei aus und folgen Sie den Anweisungen des Installationsprogramms.\n",
- "3. Überprüfen Sie, ob Python korrekt installiert wurde, indem Sie in der Eingabeaufforderung den Befehl `python --version` eingeben. Sie sollten die installierte Python-Version sehen.\n",
- "### Installation von PyCharm\n",
- "1. Laden Sie PyCharm von der [offiziellen PyCharm-Website](https://www.jetbrains.com/pycharm/) herunter.\n",
- "2. Führen Sie die heruntergeladene Datei aus und folgen Sie den Anweisungen des Installationsprogramms.\n",
- "3. Starten Sie PyCharm und richten Sie das Prog1-Projekt wie oben beschrieben ein.\n"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "7f58268c42d28d2a",
- "metadata": {
- "collapsed": false,
- "jupyter": {
- "outputs_hidden": false
- }
- },
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3 (ipykernel)",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.12.2"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
- }
|