Hallo zusammen,
ich habe Python 3.7 auf meinem Mac installiert. IDLE und der Python Launcher laufen also. Wenn ich in Textmate ein Miniprogramm schreibe wie print("HelloWorld"), die Datei als Hello.py auf meinem Desktop abspeicher und dann bei IDLE öffne, schreibt er mir genau das hier, was ich ja schon vorher gecodet habe:
print("Hello World")
Ich möchte aber, dass er mir das Programm ausführt, also nur Hello World schreibt. Wie mache ich das?
Danke für Eure Antworten!
FUNCHUM
Python auf dem Mac - Programm wird nicht ausgeführt
Du verwechselst gerade bearbeiten und ausfuehren. Ersteres machst du mit IDLE, und das ist auch auf der Doppelklick verknuepft.
Es gibt einen Pylauncher, mit dem kannst du Python-Programme ausfuehren. Such den mal & zieh dein Skript darauf. Du wirst allerdings ggf. enttaeuscht werden, weil ein einfaches print kein Terminalfenster oeffnet. Wenn du das willst, oeffne das Terminal selbst & fuehr dein Programm darin aus.
Es gibt einen Pylauncher, mit dem kannst du Python-Programme ausfuehren. Such den mal & zieh dein Skript darauf. Du wirst allerdings ggf. enttaeuscht werden, weil ein einfaches print kein Terminalfenster oeffnet. Wenn du das willst, oeffne das Terminal selbst & fuehr dein Programm darin aus.
Ich habe meine Hello.py Datei schon auf den PythonLauncher gezogen, dann geht schnell ein kleines Fenster auf (ich nehme an, es sind die Preferences) und weiter passiert nichts. Den Pfad habe ich so angegeben: /usr/local/bin
die .py Datei liegt auf meinem Desktop
Wenn ich IDLE öffne und dort über File/Open die .py-Datei öffne, passiert, das was ich oben beschrieben habe. Es steht da wieder print("HelloWorld").
die .py Datei liegt auf meinem Desktop
Wenn ich IDLE öffne und dort über File/Open die .py-Datei öffne, passiert, das was ich oben beschrieben habe. Es steht da wieder print("HelloWorld").
Du kannst das in IDLE auch ausfuehren, mit F5 oder so. Und ich denke nicht, dass das Preferences-Fenster ist. Das ist deine Ausgabe. Nur ist danach dein Programm ja nunmal vorbei. Und dann schliesst die sich auch wieder. Wenn du stattdessen mal
ausprobierst, und das auf den Launcher ziehst, was passiert dann?
Code: Alles auswählen
while True:
print("hallo")
Dann erscheint in meinem Terminal das hier:
Last login: Tue May 5 15:53:58 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
cd '/Users/annesimac2018/Desktop/' && '/usr/local/bin' '/Users/annesimac2018/Desktop/hello.py' && echo Exit status: $? && exit 1
unknown989e6326a7d8:~ annesimac2018$ cd '/Users/annesimac2018/Desktop/' && '/usr/local/bin' '/Users/annesimac2018/Desktop/hello.py' && echo Exit status: $? && exit 1
-bash: /usr/local/bin: is a directory
unknown989e6326a7d8:Desktop annesimac2018$
Was bedeutet das denn? Und, Danke für deine angebotene Hilfe...
Last login: Tue May 5 15:53:58 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
cd '/Users/annesimac2018/Desktop/' && '/usr/local/bin' '/Users/annesimac2018/Desktop/hello.py' && echo Exit status: $? && exit 1
unknown989e6326a7d8:~ annesimac2018$ cd '/Users/annesimac2018/Desktop/' && '/usr/local/bin' '/Users/annesimac2018/Desktop/hello.py' && echo Exit status: $? && exit 1
-bash: /usr/local/bin: is a directory
unknown989e6326a7d8:Desktop annesimac2018$
Was bedeutet das denn? Und, Danke für deine angebotene Hilfe...
Ich könnte jetzt dort die Anmelde-Shell ändern, aber vorher muß ich wissen, ob das überhaupt Sinn macht und mein Problem ggf. löst. Ich habe die Wahl zwischen:
/bin/bash (das ist aktuell ausgewählt)
/bin/tcsh
/bin/sh
/bin/csh
/bin/zsh
Benutzerordner ist dieser hier: /Users/annesimac2018
/bin/bash (das ist aktuell ausgewählt)
/bin/tcsh
/bin/sh
/bin/csh
/bin/zsh
Benutzerordner ist dieser hier: /Users/annesimac2018
Nee, da solltest du nix umstellen.
Du schreibst oben "ich habe den Pfad angegeben" - das sieht hier nach der Fehlerursach aus. Denn der probiert dein Skript mit /usr/local/bin auszufuehren. Das geht natuerlich nicht, denn das ist ein Verzeichnis. Kein Python-Intepreter. Da muss /usr/local/bin/python3 stehen, oder so.
Du schreibst oben "ich habe den Pfad angegeben" - das sieht hier nach der Fehlerursach aus. Denn der probiert dein Skript mit /usr/local/bin auszufuehren. Das geht natuerlich nicht, denn das ist ein Verzeichnis. Kein Python-Intepreter. Da muss /usr/local/bin/python3 stehen, oder so.
okay, ich habe ihn auf Werkseinstellungen zurück gesetzt und der lautet jetzt: /usr/bin/pythonw
super! Jetzt passiert was: es kommt hallo hallo hallo und hört nicht mehr auf. eine Endlosschleife...ich schreib mal mein script um
super! Jetzt passiert was: es kommt hallo hallo hallo und hört nicht mehr auf. eine Endlosschleife...ich schreib mal mein script um
Okay, es geht! Das habe ich nun eingegeben:
print("hallo")
zahl = 42
print(zahl)
Und das wird mir ausgegeben über den Launcher:
Last login: Tue May 5 17:09:13 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
unknown989e6326a7d8:~ annesimac2018$ cd '/Users/annesimac2018/Desktop/' && '/usr/bin/pythonw' '/Users/annesimac2018/Desktop/hello.py' && echo Exit status: $? && exit 1
hallo
42
Exit status: 0
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Prozess beendet]
Ich mußte den Launcher beenden und neu starten, da ist irgendetwas strubbelig...Ich danke dir!
print("hallo")
zahl = 42
print(zahl)
Und das wird mir ausgegeben über den Launcher:
Last login: Tue May 5 17:09:13 on ttys000
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
unknown989e6326a7d8:~ annesimac2018$ cd '/Users/annesimac2018/Desktop/' && '/usr/bin/pythonw' '/Users/annesimac2018/Desktop/hello.py' && echo Exit status: $? && exit 1
hallo
42
Exit status: 0
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Prozess beendet]
Ich mußte den Launcher beenden und neu starten, da ist irgendetwas strubbelig...Ich danke dir!
Es geht doch nicht. Ich hatte jetzt die neueste Version für Mac runtergeladen. Da geht aber kein Fenster auf im Launcher, wenn ich dort heraus Datei öffnen sagen und die .py öffne. Dann habe ich die weggeschmissen und die vorletzte Version runtergeladen. Da das gleiche...Wie doof! Jetzt bin ich doch keinen Schritt weiter. Ich mache mal einen Neustart!
Den habe ich jetzt installiert. Und in der Update-Datei folgende Meldung bekommen:
Last login: Tue May 5 17:27:55 on ttys000
/Applications/Python\ 3.7/Update\ Shell\ Profile.command ; exit;
annesimac2018@Annes-iMac-2018 ~ % /Applications/Python\ 3.7/Update\ Shell\ Profile.command ; exit;
This script will update your shell profile when the 'bin' directory
of python is not early enough of the PATH of your shell.
These changes will be effective only in shell windows that you open
after running this script.
All right, you're a python lover already
[Prozess beendet]
Ich habe jetzt in den Systemeinstellungen, wie oben empfohlen bin/zsh genommen
Last login: Tue May 5 17:27:55 on ttys000
/Applications/Python\ 3.7/Update\ Shell\ Profile.command ; exit;
annesimac2018@Annes-iMac-2018 ~ % /Applications/Python\ 3.7/Update\ Shell\ Profile.command ; exit;
This script will update your shell profile when the 'bin' directory
of python is not early enough of the PATH of your shell.
These changes will be effective only in shell windows that you open
after running this script.
All right, you're a python lover already
[Prozess beendet]
Ich habe jetzt in den Systemeinstellungen, wie oben empfohlen bin/zsh genommen
Das habe ich jetzt erst gesehen eine Install Datei in dem Ordner:
Last login: Tue May 5 17:41:10 on ttys000
/Applications/Python\ 3.7/Install\ Certificates.command ; exit;
annesimac2018@Annes-iMac-2018 ~ % /Applications/Python\ 3.7/Install\ Certificates.command ; exit;
-- pip install --upgrade certifi
Requirement already up-to-date: certifi in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (2020.4.5.1)
WARNING: You are using pip version 19.2.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
-- removing any existing file or link
-- creating symlink to certifi certificate bundle
-- setting permissions
-- update complete
[Prozess beendet]
Muß ich jetzt noch was machen?
Last login: Tue May 5 17:41:10 on ttys000
/Applications/Python\ 3.7/Install\ Certificates.command ; exit;
annesimac2018@Annes-iMac-2018 ~ % /Applications/Python\ 3.7/Install\ Certificates.command ; exit;
-- pip install --upgrade certifi
Requirement already up-to-date: certifi in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (2020.4.5.1)
WARNING: You are using pip version 19.2.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
-- removing any existing file or link
-- creating symlink to certifi certificate bundle
-- setting permissions
-- update complete
[Prozess beendet]
Muß ich jetzt noch was machen?
Eh. Keine Ahnung, diese Empfehlung zB zur zsh kommt mir nicht bekannt vor. Die ist schon ok, aber was die mit Python zu tun haben sollte, erschliesst sich mir nicht.
Wie dem auch sei. Die zweite Datei sagt einfach nur, dass du wenn du willst dein pip upgraden kannst. Das solltest du durchaus gelegentlich mal tun, es ist aber auch kein Weltuntergang das mal nicht zu machen. pip ist das Programm zum installieren neuer Python Pakete.
Wie dem auch sei. Die zweite Datei sagt einfach nur, dass du wenn du willst dein pip upgraden kannst. Das solltest du durchaus gelegentlich mal tun, es ist aber auch kein Weltuntergang das mal nicht zu machen. pip ist das Programm zum installieren neuer Python Pakete.
Leider öffnet sich ja kein Fenster im Launcher, sodass ich sehen kann, was ausgegeben wird. So kann ich momentan nur den Terminal benutzen und keine Skripte schreiben, die eingebunden werden können. Wir fangen gerade in der Uni damit an und ich würde gerne alles mitmachen, was gefordert wird...