In Python programmierte .exe Datei schließt sich sofort wieder?
Also, ein Freund hat mir eine von ihm in Python programmierte .exe Datei gesendet die bei ihm einwandfrei funktioniert. Nur schließt sie sich bei mir immer direkt nach dem öffnen. Was ich schon probiert habe: Windows Defender komplett deaktiviert, in den Virenscan Ausschluss hinzugefügt.
Danke schonmal im Voraus!
5 Antworten
Dazu wäre erstmal zu klären, wie genau er denn diese Exe in Python programmiert hat.
Python selbst hat nämlich keine derartige Funktionalität, daher wird es wohl irgendeiner dieser "Ich mach dich Exe vong 1 Python her"-Wrappern sein.
Im "besten" Fall werden dabei
- Das Skript
- Der Interpreter
- und sämtliche Abhängigkeiten inkl. der nötigen Standardmodule
in eine Art "brobdingnagisches selbstentpackendes Archiv mit anschließender Ausführungsanweisung" zusammengepackt.
Im "schlechtesten" Fall dagegen ist die Exe nichts weiter als ein s.g. "Stub", der ohne einen bereits vorhandenen Python-Interpreter so sinnvoll wie ein Schlüssel ohne Tür ist.
Dann gibt es noch so einiges dazwischen und die (eher unwahrscheinliche) Möglichkeit, dass er das ganze mittels Cython und einem C-Compiler gemacht hat, aber selbst dann fehlt dir (vermutlich) zumindest ein gewisser Anteil der nötigen Runtime-Bibliotheken.
Mit Python mach ich jetzt nicht so viel, aber seit wann gibt es einen Compiler der aus der Script Datei eine exe macht?
Also ich vermute eher, da wurde dir Schadsoftware untergejubelt
Gibts schon lange. PyInstaller z.B. kann .py-Dateien zu einer .exe machen.
Hat er dir denn den ganzen Ordner geschickt?
Eine Exe Datei funktioniert nicht von alleine. Sie braucht einen Ordner in dem die notwendigen Daten sind. Bei deinem Kumpel ist sie vermutlich in dem Ordner, und bei dir nicht.
(Gibt auch exe-Dateien, die selbst einen Temporären Ordner erstellen wenn man sie ausführt, und diesen dann benutzen. Dauert aber sehr lange zum Starten dann)
Das gilt aber nur dann, wenn die betreffende Exe überhaupt irgendwelche zusätzlichen Dateien benötigt...
Gibt es eine Fehlermeldung, wenn du die Datei über die Kommandozeile ausführst?
Wahrscheinlich fehlen irgendwelche .dlls...
naja Ist ja nicht auszuschließen, dass dir noch .dlls fehlen...
warum sollte es dann bei ihm funktionieren aber bei mir nicht
Weil er vielleicht die .dll Dateien hat und du nicht... Oder halt andere wichtige Dateien, die zum Start der exe notwendig sind...
Ja es kann auch sein, dass du einen anderen Prozessortyp hast als er. Es gibt nämlich nicht eine einheitliche „Sprache“ für alle Prozessorentypen...
Es gibt nämlich nicht eine einheitliche „Sprache“ für alle Prozessorentypen...
Ist zwar an sich korrekt, aber da davon auszugehen ist, dass auf beiden Seiten Windows eingesetzt wird und Prozessoren die ausschließlich eine 32 Bit Architektur unterstützen schon seit ca. 10 Jahren oder länger eher eine Seltenheit sind (zumindest für PCs), ist das mit an Sicherheit grenzender Wahrscheinlichkeit nicht das Problem.
https://datatofish.com/executable-pyinstaller/
Edit: Nicht schnell genug ;-)