From f616d1daa46f78c19fefa91e406775c4fbe8811b Mon Sep 17 00:00:00 2001 From: justuswolff Date: Tue, 28 May 2024 17:03:38 +0200 Subject: [PATCH] added module check --- main.py | 20 ++++++++++++++++++-- requirements.txt | 2 +- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/main.py b/main.py index 4a9ba3b..2b2cb03 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,24 @@ import sys # Justus Jan Nico Wolff sys.dont_write_bytecode = True +import subprocess +import pkg_resources +import ast + +required = open("requirements.txt", 'r') +required = ast.literal_eval(required.read()) +installed = {pkg.key for pkg in pkg_resources.working_set} +missing = required - installed + +if missing: + while True: + ans = input(f"Einige benötigte Module sind nicht installiert ({missing}), installieren per pip? Y/N ") + if ans == "y": + python = sys.executable + subprocess.check_call([python, '-m', 'pip', 'install', *missing], stdout=subprocess.DEVNULL) + break + elif ans == "n": + exit() import mtTkinter as tk from tkinter import ttk as tkk from tkinter import messagebox @@ -34,8 +52,6 @@ else: if len(sys.argv) == 2: if sys.argv[1] == "NOLANG": replacelh() -import ast -import subprocess import time import shutil import os diff --git a/requirements.txt b/requirements.txt index 84eb4fd..2cbc963 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1 @@ -["easygui", "simpleaudio", "tkinter"] \ No newline at end of file +{"easygui", "simpleaudio"} \ No newline at end of file