Python funktioniert nicht richtig trotz Neuinstallation?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hast du das py2exe auch neuinstalliert? In derselben Version?

Wenn nein, könnte das evtl. Probleme verursachen...

Johannax32 
Fragesteller
 06.02.2019, 08:24

Mit den Wechseln habe ich immer alle Programme de- und anschließend neuinstalliert...

0
Destranix  06.02.2019, 08:25
@Johannax32

Hm, komisch...

Vielleicht musst du eien Umgebungsvariable ändern, damit die Befehle gefunden werden...

0
Destranix  06.02.2019, 08:29
@Johannax32

Puh, da muss ich kurz nachdenken...

Umgebungsvariablen findes du folgendermaßen:

In der CMD den Befehl "set" eingeben.

Mit

set NAME=WERT

Kannst du dann die entspreechende Umgebungsvariavle auf dein Python setzen...

0
Destranix  06.02.2019, 08:30
@Johannax32

Ah halt, ich glaube man musste der Path-Variable von diesen einfach nur einen weiteren Eintrag hinzufügen...Nämlich das Pythonverzeichniss

0
Destranix  06.02.2019, 08:33
@Johannax32

Ach ja und vorsicht, dass du deine Umgebungsvariable nicht überschreibst... Wie du sie erweiterst siehst du in "set /?"

0
Johannax32 
Fragesteller
 06.02.2019, 08:35
@Destranix

Danke :) Ich habe damit leider etwas Probleme, da ich Angst habe, etwas falsch zu machen... Welche Variable muss ich denn auf was ändern?

0
Destranix  06.02.2019, 08:38
@Johannax32

Mach es lieber über das Menü wie in der Antwort von Martin6466.

Du klickst doppelt auf die Variable "PATH", dan klickst du einmal auf das eingabefeld und navigierst zu dessen Schluss.

Dann schreibst du dort rein:

;[Pfad zu deinem Python]

Das [Pfad zu deinem Python ersetzt du durch den absoluten Pfad zu deinem Python.

Achtung: Absolut heißt in Windows, dass du Backslashes verwendest statt normale slashes.

0
Destranix  06.02.2019, 09:05
@Johannax32

Übrigens: Wenn das vorher funktioniert hatte mit dem Print, dann hattest du wohl nicht Python 3 verwendet...

0
Johannax32 
Fragesteller
 06.02.2019, 09:26
@Destranix

Danke. Zuvor hatte ich es nur bei anderen, komplexeren py versucht. Aber um einen Fehler zu finden, der immer auftritt, dachte ich, es sei besser, wenn ich es nun mit dem simplesten Skript versuche.. Ich habe es jetzt jedenfalls geändert und die Klammern hinzugefügt.

Das mit den Namespaces verstehe ich noch nicht so ganz.. Warum muss ich jetzt auf einmal irgendwelche Sachen diesen Ordnern hinzufügen? Vorher funktionierte es auch.. Achja: Eine Setup.py habe ich nicht, da es vorher wie schon gesagt auch ohne klappte...

0
Johannax32 
Fragesteller
 06.02.2019, 09:30
@Johannax32

Anmerkung: Ich kann jetzt eine exe daraus machen.

Mein Code beinhaltet nur das folgende:

print("Hello World")

Klicke ich nun auf meine Exe, so öffnet sich kurz CMD und mir wird der Text für weniger als eine Sekunde angezeigt. Anschließend schließt sich CMD wieder. Ist das normal?

Achja: Die Namespace Errors bleiben dennoch erhalten..

0
Destranix  06.02.2019, 09:33
@Johannax32

Ich kenne mich mit Python ehrlich nicht wirklich aus und mit py2exe hab ich auch noch nie gearbeitet.

Ich kann dir nur sagen, was ich im Internet fidne und das ist even dieser Link zu Stackoverflow.

Ich würde darauf schließen, dass das Problem auch mit Python 3.3 zusammenhängt:

https://github.com/PyCQA/pylint/issues/842

Heißt du musst schlußendlich diese komischen __init__.py-Files in den entsprechenden Bibliotheken hinzufügen.
Der File kann soweit ich das verstehe vollkommend leer sein, aber muss vorhanden sein:

https://stackoverflow.com/questions/448271/what-is-init-py-for

1
Destranix  06.02.2019, 09:39
@Johannax32

Ah, gut...Solange das funktioniert sollte das Namespace kein Problem darstellen.

Das sich die CMD gleich wieder schließt ist normal...Du müsstest ein Mousewait oder soetwas einbauen, damit das nicht passiert...

1
Johannax32 
Fragesteller
 06.02.2019, 10:05
@Destranix

Vielen vielen Dank. Ich werde das mit den _init_ files bei Gelegenheit mal ausprobieren.

Ich habe jetzt noch versucht eine einzige exe mit py2exe zu erstellen, also ohne diese ganzen anderen Dateien, die sich normalerweise im dist Ordner befinden. Das hat auch funktioniert. Allerdings kann ich die exe nicht öffnen.

Ich habe hierfür diefolgende setup.py verwendet:

https://stackoverflow.com/questions/112698/py2exe-generate-single-executable-file

Leider weiß ich auch hier nicht mehr weiter. Auf den meisten Seiten wird nur auf andere Programme (PyInstaller oder cx verwiesen), welche ich aber aus unerklärlichen Gründen nicht installieren bzw. verwenden kann..

Kannst du mir hier vielleicht auch weiterhelfen?

0
Destranix  06.02.2019, 12:19
@Johannax32

Welche anderen Dateien im "dist"-Ordner meinst du?

(Evtl. namen oder Screenshots...)

0
Destranix  06.02.2019, 12:32
@Johannax32

Ach warte, die Files sind dann im Zielordner...

Ok... Dann sind die an sich auch nötig für das Programm..

Ohne funktionierte s nicht. An sich kann man aber sicher irgendwie eine .exe erstellen, ind er die zusätzlichen Files gleich mit drinnen sind...

Die Setup sollte dir, soweit ich das verstanden habe, eigentlich auch eine einzige .exe erstellen, in der die anderen Files dann mit drinnen sind.

Wenn du die .exe über die cmd aufrufst, bekommst du dann irgendwelche Fehlermeldungen?

0
Johannax32 
Fragesteller
 06.02.2019, 12:37
@Destranix

Ich bin mir ehrlich nicht ganz sicher. Also ich muss dafür erst zu dem Ordner navigieren und öffne die exe anschließend mit .\Hello.exe, richtig? Wenn ich das so mache, tut sich leider gar nichts...

0
Johannax32 
Fragesteller
 06.02.2019, 12:43
@Destranix

Oh Gott, es funktioniert!! Vielen lieben Dank für alles! ♥

0
Destranix  06.02.2019, 12:44
@Johannax32

Woran lag es? An dem windows statt console oder an dem script-Ding?

0
Johannax32 
Fragesteller
 06.02.2019, 12:47
@Destranix

Also ich habe die gesamte windows Zeile: windows = [{'script': "hello.py"}] durch das hier ersetzt: setup(console=['hello.py']

0
Destranix  06.02.2019, 12:49
@Johannax32

Hm, ok...Dann war es eines von beiden.

Wünsche dir noch viel Erfolg bei deinen weiteren Programmen. Hoffentlich funktionieren die jetzt dann auch.

1

Hast du Python 3.7 deinstalliert? Wenn ja, da schau mal in deine Umgebungsvariablen, ob da ein Pfad zu zu deiner aktuellen Python-Installation bzw. noch ein Verweis auf die 3.7 vorhanden ist.

Destranix  06.02.2019, 08:25

Kam mir auch gerade ;-)

0
Johannax32 
Fragesteller
 06.02.2019, 08:26

Danke. Wie mache ich das?

0
Martin6466  06.02.2019, 08:29
@Johannax32

Bei Windows geh auf

Systemsteuerung -> System -> Erweiterte Systemeinstellungen -> Erweitert. Dort ist ein Button "Umgebungsvariablen"

0
Johannax32 
Fragesteller
 06.02.2019, 08:33
@Martin6466

Danke. Das habe ich gefunden :) Nach welchen Einträgen muss ich suchen? Ich finde nämlich gar nichts, was Python beinhaltet...

0
Destranix  06.02.2019, 08:35
@Johannax32

Füge der Path-variable das Verzeichniss hinzu (mit ";" getrennt als absoluten Pfad wie bei allen anderen), welches die ausführbaren Pythondateien enthält, die Pythonbefehle

0
Martin6466  06.02.2019, 08:44
@Johannax32

Dann könnte das schon das Problem sein. Bin kein Experte für Python unter Windows, aber ich meine, daß Python bei der Installation automatisch auch Umgebungsvariablen setzt und zwar PYTHONHOME und PYTHONPATH. In PYTHONHOME setzt du den Pfad zu deiner Python-Installation z.B. "c:\Python33",

In PYTHONPATH setzt du die Pfade zu deinen Python-Lib-Verzeichnissen z.B. c:\Python33\Lib;c:\Python33\Scripts;c:\Python33\Lib\site-packages;" Pfade zu eventuellen weiteren Python-Bibliotheken kann du bei Bedarf anhängen

0
Destranix  06.02.2019, 09:02
@Johannax32

Das wäre auch eine der Umgebungsvariablen gewesen...Aberw enn du den Python-befehl so ausführen kannst sollte das nicht das Problem verursachen...(Wobei, vielleicht schon...Einfach mal das Zeug auf StackOverflow anschauen...)

0
Destranix  06.02.2019, 09:07
@Johannax32

Die muss auch nicht existierten sondern ist nur eine Alternative zu dem Zeug mit der PATH-Variable...

Ist aber sowieso egal...Anscheinend hat das nichts mit deiner Fehlermeldung zu tun...

1
Martin6466  06.02.2019, 09:10
@Johannax32

"SynthaxError" deutet eher daruaf hin, daß was in deinem Script falsch ist. Zu den Variablen hat Destranix schon alles gesagt

1