ich hoffe das passt hier rein
Vielleicht kann mir jemand einen Tipp mit dem pyinstaller geben.
Generell funktioniert das pyinstaller für mich ganz gut. Wenn ich jedoch, mein Python Skript so schreibe, dass es in dem Verzeichnis, wo es ausgeführt wird, noch zb. zwei Unterordner habe die Einmal heißen Einstellungen und Signaturen, dann packt er alles beim erstellen der Exe in die EXE zusammen. So dass es funktioniert, jedoch aber keine Einstellungen im Nachgang gemacht werden können. In den Dateien können einige Variablen eingestellt werden, die das Programm dann bei der Ausführung nutzt. Das Skript einfach so ausführen, auf Rechnern wo Python isnstalliert ist, funktioniert ohne Probleme.
Nur komme ich nicht klar, wie ich der Exe sagen kann, dass es auf die externen Ordner und Dateien zugreifen soll und diese nicht mit kompiliert. In dem HowTo zu pyinstaller habe ich das --exclude gefunden und damit probiert, das scheint aber nicht der Punkt zu sein.
Hat jemand eine Idee, welche Parameter ich dem pyinstaller mitgeben muss? Vielleicht ist mein Ansatz auch völlig falsch.
pyinstaller --onefile --noconsole --exclude=Einstellungen --exclude=Signaturen orga_senden.py
Aus dem Beispiel meines Programmes, wie ich die "Absende E-Mails hole"
Code: Alles auswählen
def get_sender(selected_user):
absender_file_path = os.path.join(script_dir, "Einstellungen", "absender.txt")
with open(absender_file_path, "r") as file:
for line in file:
name, email = line.strip().split(": ")
if name.lower() == selected_user.lower():
return email
return "" # Rückgabe eines leeren Strings, falls der Absender nicht gefunden wurde
Code: Alles auswählen
script_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))