- Test auf Linux Workstation
  - Siehe CHANGELOG.md
This commit is contained in:
Adam Skotarczak 2025-05-07 19:16:10 +02:00
parent 0b41b79db3
commit 17353b3000
5 changed files with 47 additions and 10 deletions

View File

@ -2,6 +2,16 @@
## pyUpload (TKInter-Version 1.0)
- **2025-05-07 - v1.2.1**
- **Geändert:**
- [x] `main.py` übergibt beim Neustart unter Linux jetzt einen **absoluten Pfad**, um Doppelpunkte wie `app/app/main.py` zu vermeiden.
- [x] `start.pyw` berücksichtigt nun `venv`-Interpreter korrekt, wenn vorhanden, sonst fallback auf `sys.executable`.
- [x] Erkennung von fehlendem `ensurepip`, mit Hinweis zur Installation von `python3-venv` bei Bedarf.
- [x] Neue Warnung, wenn `tkinter` fehlt ohne Abbruch, Upload-Server läuft dennoch im CLI-Modus weiter.
- [x] README.md ergänzt um Setup-Hinweise für Linux bzgl. `python3-venv` und `python3-tk`.
---
- **2025-04-28 - v1.2.0**
- **Geändert:**
- [x] `main.py` prüft nun zusätzlich, ob die virtuelle Umgebung auch funktioniert und nicht nur ob sie lediglich vorhanden ist.

View File

@ -19,15 +19,15 @@ Die neue Version mit Flask-Backend wird **bald** verfügbar sein unter:
- [pyUpload Sicherer Datei-Upload-Server über HTTPS (lokal \& offline)](#pyupload--sicherer-datei-upload-server-über-https-lokal--offline)
- [🛠 Features](#-features)
- [🚀 Schnellstart](#-schnellstart)
- [▶️ Für Windows:](#-für-windows)
- [🐧 Für Linux / macOS:](#-für-linux--macos)
- [▶️ Für Windows](#-für-windows)
- [🐧 Für Linux / macOS](#-für-linux--macos)
- [🧩 Kommandozeilenoptionen](#-kommandozeilenoptionen)
- [🌐 Zugriff im Browser](#-zugriff-im-browser)
- [📁 Logs \& Uploads](#-logs--uploads)
- [🔐 Hinweis zur SSL-Zertifikatswarnung](#-hinweis-zur-ssl-zertifikatswarnung)
- [💡 Ideen für zukünftige Entwicklungen](#-ideen-für-zukünftige-entwicklungen)
- [🐛 Bekannte Bugs](#-bekannte-bugs)
- [## 👨‍💻 Autor und Beteiligte](#--autor-und-beteiligte)
- [👨‍💻 Autor und Beteiligte](#-autor-und-beteiligte)
- [📝 Lizenz](#-lizenz)
---
@ -57,7 +57,7 @@ Sie ist vollständig lokal lauffähig ganz ohne Installation von externen To
## 🚀 Schnellstart
### ▶️ Für Windows:
### ▶️ Für Windows
1. Lade das Projekt herunter oder klone es:
@ -94,7 +94,7 @@ Sie ist vollständig lokal lauffähig ganz ohne Installation von externen To
Ich empfehle, eine Verknüpfung der `start.pyw` z.B. auf dem Desktop zu erstellen
### 🐧 Für Linux / macOS:
### 🐧 Für Linux / macOS
1. Stelle sicher, dass Python 3.8+ installiert ist:
@ -102,6 +102,20 @@ Sie ist vollständig lokal lauffähig ganz ohne Installation von externen To
python3 --version
```
Stelle sicher, dass die nötigen Systempakete vorhanden sind:
```bash
sudo apt install python3-venv python3-tk
```
Bei neueren Systemen mit z.B. Python 3.12:
```bash
sudo apt install python3.12-venv python3.12-tk
```
Dies trifft nicht bei allen Systemen zu, bei Ubuntu z.B muss TKinter händisch leider nachinstalliert werden.
2. Mache das Startscript ausführbar:
```bash
@ -189,11 +203,18 @@ Wichtig dabei ist es darauf zu achten, das tatsächlich auch https verwendet wir
Damit dein Browser diese Warnung dauerhaft vermeidet, müssen die Zertifikate zu deiner verwendeten Domain passen.
Da das in lokalen oder testnahen Umgebungen in der Regel nicht der Fall ist, lässt sich diese Warnung meist nicht vermeiden.
>💡 **Wichtig zu wissen:**
> **Wichtig zu wissen:**
Die Verbindung ist trotzdem Ende-zu-Ende verschlüsselt. Die Schlüssel werden bei jedem Start lokal neu generiert direkt auf deinem Rechner.
Technisch ist die Verbindung also sicher.
Dein Browser vertraut dem Zertifikat lediglich nicht, weil es nicht von einer offiziellen Zertifizierungsstelle stammt, sondern lokal erzeugt wurde.
TKinter unter Linux:
> **Hinweis für Linux-Benutzer:**
Falls die GUI nicht erscheint und stattdessen eine Warnung, wie `ModuleNotFoundError: No module named 'tkinter'`, liegt das daran,
dass `tkinter` unter Linux separat installiert werden muss.
Siehe Abschnitt [🐧 Für Linux / macOS](#-für-linux--macos) für Details.
[🔝](#-inhalt-der-readme)
---

View File

@ -1 +1 @@
1.2.0
1.2.1

View File

@ -2,7 +2,7 @@
# © 2025 Adam Skotarczak (adam@skotarczak.net)
#
# Version 1.0.2 (28.04.2025 - virtuelle Umgebung korrekt aktiviert)
# Version 1.2.1 (07.05.2025 - Linux Test und Anpassungen im Bootstap)
# Manuell in z.B. VS-Code: .\app\.venv\Scripts\activate
#
# Original unter:
@ -38,7 +38,9 @@ if (sys.prefix == sys.base_prefix and sys.executable != VENV_PYTHON) or not os.p
subprocess.Popen([VENV_PYTHON] + sys.argv, creationflags=subprocess.CREATE_NEW_CONSOLE)
sys.exit(0)
else:
os.execv(VENV_PYTHON, [VENV_PYTHON] + sys.argv)
main_script = os.path.join(BASE_DIR, "main.py")
os.execv(VENV_PYTHON, [VENV_PYTHON, main_script] + sys.argv[1:])
sys.exit(0)
# Wir sind jetzt sicher in der richtigen Umgebung → Rest des Programms geht hier weiter:
@ -259,7 +261,11 @@ def run_server_with_gui(port):
import qrcode
import webbrowser
from PIL import Image, ImageTk
import tkinter as tk
try:
import tkinter as tk
except ImportError:
print("⚠ Hinweis: tkinter ist nicht installiert. Für die GUI benötigst du:")
print(" sudo apt install python3-tk")
httpd = create_https_server(port)
server_ip = get_server_ip()

0
start.pyw Normal file → Executable file
View File