{ "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 }