diff --git a/LF05/Verwendung einer .env-Datei.ipynb b/LF05/Verwendung einer .env-Datei.ipynb new file mode 100644 index 0000000..5cae7c6 --- /dev/null +++ b/LF05/Verwendung einer .env-Datei.ipynb @@ -0,0 +1,208 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ee65237f-2451-4cea-9b46-d470fe508593", + "metadata": {}, + "source": [ + "Um Umgebungsvariablen in einem bestimmten Verzeichnis innerhalb von JupyterHub zu setzen, können Sie verschiedene Ansätze verwenden. Einer der gängigsten Ansätze ist die Verwendung einer `.env`-Datei zusammen mit der `python-dotenv`-Bibliothek. Diese Methode ermöglicht es Ihnen, Umgebungsvariablen in einer Datei zu definieren, die dann automatisch geladen wird, wenn Sie sich in einem bestimmten Verzeichnis befinden." + ] + }, + { + "cell_type": "markdown", + "id": "877b27eb-ae11-40a4-b571-2f741cb976dc", + "metadata": {}, + "source": [ + "## Schritte zur Verwendung einer `.env`-Datei in JupyterHub" + ] + }, + { + "cell_type": "markdown", + "id": "b71b0c5f-cc97-45d3-b3a0-3e9c8ad14bd7", + "metadata": {}, + "source": [ + "### 1. **Installation von `python-dotenv`:**" + ] + }, + { + "cell_type": "markdown", + "id": "ef0b54c3-d606-4f89-9f5a-1793d6378fc2", + "metadata": {}, + "source": [ + "\n", + " Installieren Sie die `python-dotenv`-Bibliothek, falls sie noch nicht installiert ist:\n", + " ```bash\n", + " pip install python-dotenv\n", + " ```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a8ba1b30-0f0c-4d5b-8f38-5bf248c0c03f", + "metadata": {}, + "outputs": [], + "source": [ + "!pip install python-dotenv" + ] + }, + { + "cell_type": "markdown", + "id": "6e460fe3-3ded-415a-b9e2-d835e09a31e8", + "metadata": {}, + "source": [ + "### 2. **Erstellen einer `.env`-Datei:**" + ] + }, + { + "cell_type": "markdown", + "id": "8f127096-b44c-41b5-bd1d-e94dfc4b54f9", + "metadata": {}, + "source": [ + "Erstellen Sie eine `.env`-Datei im Verzeichnis, in dem Sie die Umgebungsvariablen setzen möchten. Diese Datei sollte Schlüssel-Wert-Paare enthalten, die die Umgebungsvariablen definieren. Zum Beispiel:\n", + "```python\n", + "import os\n", + "\n", + "# Definieren Sie den Pfad, an dem die .env-Datei erstellt werden soll\n", + "env_file_path = '.env'\n", + "\n", + "# Definieren Sie die Umgebungsvariablen, die Sie speichern möchten\n", + "env_variables = {\n", + " # Gitea-URL\n", + " 'GITEA_URL':'gitea.iotxs.de',\n", + " # Personal Access Token\n", + " 'GITEA_TOKEN':'700734511696a2dfc8e318154ba6f5bf9b388ab7-1',\n", + " # URL des Gitea-Repositories\n", + " 'GITEA_REPO':'RainerWieland/MINT-01',\n", + " # lokaler Pfad für den clone\n", + " 'REPO_PATH':'MINT-01',\n", + "}\n", + "# Erstellen und schreiben Sie die .env-Datei\n", + "with open(env_file_path, 'w') as env_file:\n", + " for key, value in env_variables.items():\n", + " env_file.write(f'{key}={value}\\n')\n", + "\n", + "print(f\".env-Datei wurde unter {env_file_path} erstellt.\")\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0d605656-43de-4729-9eaf-45bd92f8669c", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "\n", + "# Definieren Sie den Pfad, an dem die .env-Datei erstellt werden soll\n", + "env_file_path = '.env'\n", + "\n", + "# Definieren Sie die Umgebungsvariablen, die Sie speichern möchten\n", + "env_variables = {\n", + " # Gitea-URL\n", + " 'GITEA_URL':'gitea.iotxs.de',\n", + " # Personal Access Token\n", + " 'GITEA_TOKEN':'InsertYourTokenHere',\n", + " # URL des Gitea-Repositories\n", + " 'GITEA_REPO':'RainerWieland/MINT-01',\n", + " # lokaler Pfad für den clone\n", + " 'REPO_PATH':'MINT-01',\n", + "}\n", + "# Erstellen und schreiben Sie die .env-Datei\n", + "with open(env_file_path, 'w') as env_file:\n", + " for key, value in env_variables.items():\n", + " env_file.write(f'{key}={value}\\n')\n", + "\n", + "print(f\".env-Datei wurde unter {env_file_path} erstellt.\")" + ] + }, + { + "cell_type": "markdown", + "id": "27b5d9c7-74bc-4d74-ae8a-ba7fd2c70b4a", + "metadata": {}, + "source": [ + "### 3. **Laden der `.env`-Datei in Ihrem Notebook:**" + ] + }, + { + "cell_type": "markdown", + "id": "594314e9-66ec-433b-8298-aa370221de84", + "metadata": {}, + "source": [ + "Verwenden Sie die `python-dotenv`-Bibliothek, um die Variablen aus der `.env`-Datei in Ihr Jupyter-Notebook zu laden. Hier ist ein Beispiel, wie Sie dies tun können:\n", + "\n", + " ```python\n", + " import os\n", + " from dotenv import load_dotenv\n", + "\n", + " # Pfad zur .env-Datei\n", + " dotenv_path = '.env'\n", + "\n", + " # Laden der Umgebungsvariablen aus der .env-Datei\n", + " load_dotenv(dotenv_path)\n", + "\n", + " # Zugriff auf die Umgebungsvariablen\n", + " GITEA_URL = os.getenv('GITEA_URL')\n", + " GITEA_TOKEN = os.getenv('GITEA_TOKEN')\n", + " GITEA_REPO = os.getenv('GITEA_REPO')\n", + " REPO_PATH = os.getenv('REPO_PATH')\n", + "\n", + " print(f\"GITEA_URL\\t: {GITEA_URL}\")\n", + " print(f\"GITEA_TOKEN\\t: {GITEA_TOKEN}\")\n", + " print(f\"GITEA_REPO\\t: {GITEA_REPO}\")\n", + " print(f\"REPO_PATH\\t: {REPO_PATH}\")\n", + " ```" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ae2c5f18-3988-4c04-8399-ee25d2da595a", + "metadata": {}, + "outputs": [], + "source": [ + " import os\n", + " from dotenv import load_dotenv\n", + "\n", + " # Pfad zur .env-Datei\n", + " dotenv_path = '.env'\n", + "\n", + " # Laden der Umgebungsvariablen aus der .env-Datei\n", + " load_dotenv(dotenv_path)\n", + "\n", + " # Zugriff auf die Umgebungsvariablen\n", + " GITEA_URL = os.getenv('GITEA_URL')\n", + " GITEA_TOKEN = os.getenv('GITEA_TOKEN')\n", + " GITEA_REPO = os.getenv('GITEA_REPO')\n", + " REPO_PATH = os.getenv('REPO_PATH')\n", + "\n", + " print(f\"GITEA_URL\\t: {GITEA_URL}\")\n", + " print(f\"GITEA_TOKEN\\t: {GITEA_TOKEN}\")\n", + " print(f\"GITEA_REPO\\t: {GITEA_REPO}\")\n", + " print(f\"REPO_PATH\\t: {REPO_PATH}\")" + ] + } + ], + "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.11.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}