Ich habe mit pip das pygame installiert, aber jedesmal, wenn ich in einem Programm was machen will, findet pygame seine Attribute nicht.
Es kommt immer die Meldung:
module pygame has not attribute 'name des Attributs'
Was könnte ich da machen?
Vielen Dank und freundliche Grüße
pygame findet seine Attribute nicht
In blaue geraten: Hast du dein Modul selbst `pygame` genannt?
Wenn nicht, müsstest du noch ein paar Informationen liefern: Was gibt `print(pygame)` nach dem Import aus? Hast du das richtige `pip` für den Pythoninterpreter benutzt, mit dem du das Programm ausführst? Welches Attribut konkret wird nicht gefunden?
Wenn nicht, müsstest du noch ein paar Informationen liefern: Was gibt `print(pygame)` nach dem Import aus? Hast du das richtige `pip` für den Pythoninterpreter benutzt, mit dem du das Programm ausführst? Welches Attribut konkret wird nicht gefunden?
Entschuldigt bitte meine späte Antwort:
Die Fehlermeldung im Wortlaut lautet:
print (pygame) ergibt das:
Die Fehlermeldung im Wortlaut lautet:
Code: Alles auswählen
pygame.init()
AttributeError: module 'pygame' has no attribute 'init'
Code: Alles auswählen
<module 'pygame' from '/home/user/Eigene Programme/python_buch/pygame.py'>
@Cortez: Genau wie von __deets__ und mir geraten: Du hast dein Programm selbst `pygame.py` genannt und damit das installierte `pygame`-Modul überdeckt.
Edit: Sorry, ich kann Namen anscheinend nicht lesen.
Edit: Sorry, ich kann Namen anscheinend nicht lesen.
Zuletzt geändert von narpfel am Mittwoch 10. Februar 2021, 17:10, insgesamt 1-mal geändert.
@Cortez: Passt das `pip` denn zum Pythoninterpreter, mit dem du das Programm ausführst? Benutzt du virtuelle Umgebungen (oder eine IDE, die die automatisch anlegt)? Hast du mehrere verschiedene Pythonversionen installiert?
Hallo,
ich benutze standardmäßig python 3.6. Python 2 ist zwar noch installiert ( wenn ich in einem Terminal "python" eingebe, dann meldet er sich mit einer python 2 Version).
Aber in meiner IDE nutze ich folgendes Shebang (#!/usr/bin/python3.6).
Hier noch mal die Meldung des pip, wenn ich das installieren möchte (da steht irgendwas von python 3.7 - von daher könnte es schon was mit der Version zu tun haben).
WARNING: The directory '/home/user/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: pygame in /usr/local/lib/python3.7/site-packages (1.9.6)
WARNING: You are using pip version 20.0.2; however, version 21.0.1 is available.
You should consider upgrading via the '/usr/local/bin/python3.7 -m pip install --upgrade pip' command.
ich benutze standardmäßig python 3.6. Python 2 ist zwar noch installiert ( wenn ich in einem Terminal "python" eingebe, dann meldet er sich mit einer python 2 Version).
Aber in meiner IDE nutze ich folgendes Shebang (#!/usr/bin/python3.6).
Hier noch mal die Meldung des pip, wenn ich das installieren möchte (da steht irgendwas von python 3.7 - von daher könnte es schon was mit der Version zu tun haben).
WARNING: The directory '/home/user/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Requirement already satisfied: pygame in /usr/local/lib/python3.7/site-packages (1.9.6)
WARNING: You are using pip version 20.0.2; however, version 21.0.1 is available.
You should consider upgrading via the '/usr/local/bin/python3.7 -m pip install --upgrade pip' command.
@Cortez: Ja, du hast `pygame` für Python 3.7 installiert und willst es dann mit Python 3.6 importieren. Funktioniert logischerweise nicht.
Am einfachsten vermeidet man solche Fehler, wenn man `pip` immer mit `-m` über den Pythoninterpreter aufruft, für den man etwas installieren will. In diesem Fall also `python3.6 -m pip install pygame`.
Und ich persönlich würde mit `pip` generell nur in virtuellen Umgebungen etwas installieren. Wenn man nicht gut aufpasst, kann man sich damit auch gerne mal die globale Python-Installation kaputt machen.
Am einfachsten vermeidet man solche Fehler, wenn man `pip` immer mit `-m` über den Pythoninterpreter aufruft, für den man etwas installieren will. In diesem Fall also `python3.6 -m pip install pygame`.
Und ich persönlich würde mit `pip` generell nur in virtuellen Umgebungen etwas installieren. Wenn man nicht gut aufpasst, kann man sich damit auch gerne mal die globale Python-Installation kaputt machen.
Ok, super - jetzt funktioniert es. Wieder was gelernt.
Bevor ich mit virtuellen Umgebungen anfange, entrümple ich besser erst mal - wie du siehst, laufen auf meinem System anscheinend mehrere python-Versionen gleichzeitig.
Vielen Dank nochmal.
Bevor ich mit virtuellen Umgebungen anfange, entrümple ich besser erst mal - wie du siehst, laufen auf meinem System anscheinend mehrere python-Versionen gleichzeitig.
Vielen Dank nochmal.