Verarbeitung, wenn die Schlüsseleingabe von Python-Pygame nicht gut funktioniert.

Umgebung

  1. Mac OS X Yosemite ver.10.10.5
  2. Python 3.6.1 | Verwenden von Anaconda 4.4.0 (x86_64)

Nachschlagewerk

"Python-Programmierung, die Sie beim Spielen genießen können" http://nextpublishing.jp/book/8501.html Ich habe dieses Buch neulich gekauft, aber aus irgendeinem Grund wurden die Tastenanschläge auf dem Terminal oder im Editor ausgeführt, und das wesentliche Spiel funktionierte überhaupt nicht.

Lösungsfall

Nach der Untersuchung scheint es normal zu funktionieren, wenn pyenv deinstalliert und python3 vom offiziellen Installationsprogramm neu installiert wird. Es scheint einen Fall zu geben, in dem es durch Ändern der Pygame-Version gelöst wurde. https://stackoverflow.com/questions/2718897/mac-os-x-pygame-input-goes-to-terminal-instead-of-python

Lösung

In meinem Fall hat das Ändern der Pygame-Version möglicherweise nicht funktioniert, weil ich Anaconda verwende. Gleichzeitig verwende ich Python 3 für eine andere Aufgabe, daher möchte ich auch Anaconda verwenden ... Also zuerst pyenv installieren. (pyenv ist ein Tool, mit dem Sie einfach zwischen Python-Versionen wechseln können.) Ich habe auf der folgenden Seite beschrieben, wie man pyenv installiert. Erstellen einer Umgebung mit pyenv und virtualenv

Verwenden Sie dann pyenv, um die verfügbare Version zu überprüfen. $pyenv install --list 2.7.11 2.7.12 2.7.13 ← Diese Jungs 3.0.1 3.1 3.1.1

Sie werden hier viele Listen sehen, also installieren Sie python2 aus dem obigen Teil.

$ pyenv install 2.7.13 Und ausführen. Sie können überprüfen, ob es installiert wurde, indem Sie "$ pyenv version" eingeben.

Wechseln Sie danach in das Verzeichnis, in dem das Spiel mit pygame erstellt wurde, geben Sie "$ pyenv local 2.7.13" ein und führen Sie es aus. Zu diesem Zeitpunkt können Sie python2 auf das Ganze anwenden, indem Sie "$ pyenv global -.-.-." Eingeben. Da python2 jedoch nicht mehr benötigt wird, wenden Sie es nur auf das Zielverzeichnis an.

Obwohl ich python2 auf local angewendet habe, wurde python2 aus irgendeinem Grund nicht wiedergegeben und es war immer noch Python 3.6.1 | Anaconda 4.4.0, aber nach dem Neustart wurde es in meinem Fall gelöst. Wenn Sie das Problem immer noch nicht beheben können, sollten Sie sich auf Folgendes beziehen. Was tun, wenn Python in pyenv nicht von der Systemversion wechselt?

Mit der obigen Verarbeitung ist im Fall des Autors eine Schlüsseleingabe möglich.

Nachtrag

Übrigens, wenn Sie in der Python2-Umgebung arbeiten, funktionieren die meisten Funktionen ohne Probleme. Funktionen wie Map, Reduce und Filter müssen nicht in list () usw. eingeschlossen werden. Wenn Sie diesen Teil löschen, funktioniert er problemlos.

Recommended Posts

Verarbeitung, wenn die Schlüsseleingabe von Python-Pygame nicht gut funktioniert.
Beim Inkrementieren des Werts eines Schlüssels, der nicht vorhanden ist
Schlüsseleingabe, die nicht auf Schlüsseleingabe in Python wartet
Wenn cv2.VideCapture (aviname) nicht gut liest
Python> Python enthält nicht den letzten Offset
Die Geschichte der Verarbeitung A von Blackjack (Python)
Beispiel, was zu tun ist, wenn das Beispielskript nicht funktioniert (OpenCV-Python)
Über das Problem, dass die Python-Version von Google App Engine nicht ineinander greift
Zeigen Sie das Ergebnis der Geometrieverarbeitung in Python an
Bildverarbeitung? Die Geschichte, Python für zu starten
Was tun, wenn python3 venv auf Raspberry Pi nicht gut funktioniert?
Lösung, wenn Linux die eingebaute Kamera nicht erkennt
Untersuchen Sie die genaue Verarbeitung des Python-Datasets (SQLAlchemy-Wrapper).
Den Inhalt der Daten in Python nicht kennen
Überprüfen Sie, wann die Version nicht in pyenv wechselt
Tastenanschlag in Python
der Zen von Python
Tastenanschlag in Python
Verschiedene Verarbeitung von Python
Die parallele Verarbeitung der Python-Joblib funktioniert in der uWSGI-Umgebung nicht. Wie verarbeite ich parallel auf uWSGI?
Ich möchte kein if-Dokument bei der Verarbeitung, nachdem das Vorhandensein des Diktatschlüssels bestätigt wurde
[Python-Anfänger] Variablen und Umfang innerhalb der Funktion (wenn die Verarbeitung innerhalb der Funktion außerhalb der Funktion reflektiert wird und wenn sie nicht reflektiert wird)
Grep, damit grep zum Zeitpunkt von grep nicht angezeigt wird
Hinweis zur Unterstützung von Python-Fehlern: "... unterstützt kein Argument 0 vom Typ float ..."
Überprüfen Sie, ob der Docker-Container keine Verbindung zum Internet herstellt
Der Websocket von toio (nodejs) und python / websocket stellen keine Verbindung her.
[Python] Tensorflow 2.0 unterstützte Python 3.8 nicht, daher die Geschichte des Downgrades von Python
python3 Messen Sie die Verarbeitungsgeschwindigkeit.
Auf dem Weg zum Ruhestand von Python2
Python-Version wechselt nicht
Über die Funktionen von Python
Die Kraft der Pandas: Python
Die Geschichte, dass die Version von Python 3.7.7 nicht an Heroku angepasst wurde
Die Geschichte, dass man mit Pycharm kein Pygame spielen kann
Zählen Sie die Anzahl der thailändischen und arabischen Zeichen in Python gut
So stellen Sie fest, dass in Python3 ein Kreuzschlüssel eingegeben wurde
Lösung, wenn die Hintergrundabdeckung von VS Code für Linux nicht funktioniert
Tkinter canvas (Fenster) startet nicht, wenn Python 3.7.4 unter Atom ausgeführt wird
Eine Funktion, die die Verarbeitungszeit einer Methode in Python misst
Die Geschichte der Release-Arbeit der Anwendung, die Google nicht erzählt
Das Problem, dass die Version von Vue CLI nicht gestartet wurde
Erstellen einer Python-Umgebung unter Ubuntu (wenn pip nicht die Standardeinstellung war)
Wenn das auf Mac / Marvericks installierte Programm pip nicht funktioniert