Problem beim erstellen einer exe/app mit Pyinstaller

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Jappes
User
Beiträge: 5
Registriert: Montag 5. Juli 2021, 08:46

Hallo zusammen,

Ich versuche meinen Code umzuwandeln in eine Exe/App für Macosx.
Ich habe es jetzt schon versucht mit Pyinstaller, Auto Py to Exe, und Py2App.

Pyinstaller, Auto Py to Exe -> Die Umwandlung ist erfolgreich, Programm startet (keine Fehlermeldung in der Console) allerdings erstellt mein Programm keine Excel Datei.

Code: Alles auswählen

pyinstaller --hidden-import=pandas --hidden-import=os --hidden-import=bs4 --onefile App.py
Py2App -> Umwandlung erfolgreich. Die Excel Datei wird nur leider in der App selber im Resource Ordner erstellt (Py2App für mich generell unbrauchbar da das Programm am ende mehrer hundert MB groß wird)

Code: Alles auswählen

python setup.py py2app

Jetzt habe ich die Vermutung das der Fehler vielleicht an meinem source code liegt, und zwar wie bzw. wo ich die Excel Datei speichere.

Code Ausschnitt:

Code: Alles auswählen

           for container in search_result:
           container = BeautifulSoup(response.content, "html.parser").find("div", {"data-component-type":"s-search-result"}).get("data") 
           Variable2 = container
           data_df2 = pd.DataFrame({'Name': [Variable1],'Jahre': [Variable2]})
           data_df2.to_csv("Liste.csv" , columns = ['Name','Jahre'], mode='a', index=False, header=False)
           reflect_function(Variable1, Variable2,)
Hat jemand eine Idee woran es gelegen hat?

Beste Grüße,
Jappes
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Es würde mich sehr wundern, wenn du hidden-imports angeben musst. Die importierten Pakete sollten automatisch gefunden werden.

Wohe rweißt du denn, wohin die csv geschrieben werden soll? Hast du dir mal das CWD angesehen?
Ein beherztes os.getcwd() zeigt dir das Verzeichnis, wohin geschrieben wird. Und wenn das nicht das Verzeichnis ist, das du möchtest, dann musst du beim Schreiben eben ein Verzeichnis angeben.

Übrigens wird die mit pyinstaller erstellte Datei wahrscheinlich nicht viel kleiner als die mit py2app erstellte.
Jappes
User
Beiträge: 5
Registriert: Montag 5. Juli 2021, 08:46

Hey Sparrow

Danke für deine Antwort, hast mir sehr geholfen!

Code: Alles auswählen

CWD = os.path.split(import_file_path)
filePath = os.path.join(CWD[0], "Liste.csv")
Antworten