Seite 1 von 1

Pyinstaller und threading

Verfasst: Donnerstag 13. Juni 2019, 21:16
von Streifenhase1
Hallo,
ich habe ein script mit threading... im Idle läuft alles so weit.

wenn ich aber die .py mit pyinstaller eine .exe ertellen lasse funktioniert diese nicht.

ich vermute es liegt an threading

jemand ähnliche Erfahrung und eine Lösung dazu.

Re: Pyinstaller und threading

Verfasst: Donnerstag 13. Juni 2019, 21:35
von Sirius3
@Streifenhase1: es liegt vermutlich daran, dass Du etwas falsch gemacht hast. Mehr sehe ich aber gerade nicht in meiner Glaskugel.

Re: Pyinstaller und threading

Verfasst: Donnerstag 13. Juni 2019, 21:36
von sparrow
Vermutungen und ein wages "funktioniert nicht" ist jetzt nicht die beste Ausgangssituation um dir zu helfen.
Du rufst doch auch nicht in der Werkstatt an und sagt: "Zuhause lief das Auto noch, aber jetzt nicht mehr. Ich glaube, es liegt an der Bundestraße. Haben Sie da mal eine Lösung?"

Quellcode und Fehlermldungen. Etwas Greifbares.

Aus Erfahrung kann dich dir sagen: Threading und pyinstaller sind gar kein Problem.

Re: Pyinstaller und threading

Verfasst: Samstag 15. Juni 2019, 11:45
von Streifenhase1
Ja da habt ihr natürlich recht...

Also ich habe festgestellt das es zwei Probleme gibt.

zum einen das erst mal für mich wichtigere ist das beim starten der exe das Modul Snap7 nicht gefunden wird.

jetzt hab ich schon touturials gelesen wie ich dieses hinzufüge aber bin gescheitert. hat jemand ein gutes und bestenfalls deutsches Tutorial wie ich es mit pyinstaller integrieren kann?

was das threading angeht scheint es daran zu liegen das ich die Threads or Programmende nicht beenden, da muss ich auch noch mal schauen.

Re: Pyinstaller und threading

Verfasst: Dienstag 18. Juni 2019, 19:57
von Streifenhase1
hat keiner einen Tip für mich wie ich das "Snap7" Package in die exe mit pyinstaller bekomme?

Habe die ".spec" folgendes hinzugefügt..


a = Analysis(['Display.py'],
pathex=['C:\Python37-32\Scripts'],
binaries=[],
datas=[],
hiddenimports=["Snap7"],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)

leider findet es das "Snap7" Package nicht.

Installiert ist mit "pip install python_snap7"

Re: Pyinstaller und threading

Verfasst: Dienstag 18. Juni 2019, 21:56
von sparrow
In "hiddenimports" steckt ja "import" - und ich bin mir fast sicher, dass das Modul korrekt benennant wurde und mit einem _kleinen_ Buchstaben beginnt.

Re: Pyinstaller und threading

Verfasst: Mittwoch 19. Juni 2019, 14:53
von Streifenhase1
also hab es hin bekommen das "snap7" gefunden wird. allerdings startet die .exe nur wenn Python mit snap7 auf dem Rechner ist. also irgend etwas ist da noch nicht richtig oder

Re: Pyinstaller und threading

Verfasst: Mittwoch 19. Juni 2019, 15:05
von __deets__
Definitiv nicht, denn der ganze Sinn des Pyinstallers ist ja, dass man genau NICHT Python und was-weiss-ich-alles-noch installieren muss.

Re: Pyinstaller und threading

Verfasst: Samstag 22. Juni 2019, 14:29
von Streifenhase1
Das der Sinn von Pyinstaller ist das Python etc. nicht Installiert sein muss. Genau das ist ja das Problem das snap7 gefunden wird aber anscheinend nicht vollständig eingefügt wird.


so habe ich die .exe erstellt

Code: Alles auswählen

pyinstaller -y -F --hidden-import snap7 ".....py"
im Ablauf steht auch

"81477 INFO: Analyzing hidden import 'snap7'"

habe ich da was vergessen?

beim starten der exe kommt dann der Fehler.

"snap7.snap7exceptions.Snap7Exception: can't find snap7 library. If installed, try running ldconfig"

Re: Pyinstaller und threading

Verfasst: Samstag 22. Juni 2019, 14:39
von __deets__
Ich kenne snap7 nicht. Aber wenn es sich dabei um das Ding fuer Labview handelt, dann muss da wohl eine C-Library/DLL/.so Datei vorhanden sein. Ich habe mit pyinstaller keine grosse Erfahrung, doch fuer solche Sachen gibt's Rezepte. Da wirst du dir die Dokumentation anschauen muessen, wie man pyinstaller verklickert, dass es da mehr Dateien buendeln muss.