v1.2.1
- Test auf Linux Workstation - Siehe CHANGELOG.md
This commit is contained in:
parent
0b41b79db3
commit
17353b3000
10
CHANGELOG.md
10
CHANGELOG.md
@ -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.
|
||||
|
33
README.md
33
README.md
@ -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)
|
||||
|
||||
---
|
||||
|
12
app/main.py
12
app/main.py
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user