Traitement lorsque l'entrée clé de pygame Python ne se passe pas bien.

environnement

  1. Mac OS X Yosemite ver.10.10.5
  2. Python 3.6.1 | Utilisation d'Anaconda 4.4.0 (x86_64)

Livre de référence

"Programmation Python que vous pouvez apprendre tout en créant des jeux" http://nextpublishing.jp/book/8501.html J'ai acheté ce livre l'autre jour, mais pour une raison quelconque, les frappes ont été exécutées sur le terminal ou dans l'éditeur, et le jeu essentiel ne fonctionnait pas du tout.

Cas de solution

Après enquête, il semble que cela fonctionne normalement lorsque pyenv est désinstallé et python3 est réinstallé à partir du programme d'installation officiel. Il semble y avoir un cas où il a été résolu en changeant la version de pygame. https://stackoverflow.com/questions/2718897/mac-os-x-pygame-input-goes-to-terminal-instead-of-python

Solution

Dans mon cas, peut-être parce que j'utilise Anaconda, changer la version de pygame n'a pas fonctionné. En même temps, j'utilise Python 3 pour une autre tâche, donc je veux aussi utiliser anaconda ... Alors installez d'abord pyenv. (pyenv est un outil qui vous permet de basculer facilement entre les versions de python.) Je me suis référé au site suivant pour savoir comment installer pyenv. Création d'un environnement avec pyenv et virtualenv

Ensuite, utilisez pyenv pour vérifier la version disponible. $pyenv install --list 2.7.11 2.7.12 2.7.13 ← Ces gars 3.0.1 3.1 3.1.1

Vous verrez beaucoup de listes ici, alors installez python2 à partir de la partie ci-dessus.

$ pyenv install 2.7.13 Et exécutez. Vous pouvez vérifier s'il a été installé en tapant $ pyenv versions.

Après cela, allez dans le répertoire où le jeu est créé en utilisant pygame, entrez $ pyenv local 2.7.13, et exécutez. À ce stade, vous pouvez appliquer python2 à l'ensemble en tapant $ pyenv global -.-.-., Mais comme python2 n'est plus nécessaire, appliquez-le uniquement au répertoire cible.

À ce moment-là, même si j'ai appliqué python2 à local, python2 n'a pas été reflété pour une raison quelconque et c'était toujours Python 3.6.1 | Anaconda 4.4.0, mais une fois que j'ai redémarré, cela a été résolu dans mon cas. Si vous ne parvenez toujours pas à le réparer, vous pouvez vous référer à ce qui suit. Que faire lorsque Python ne passe pas de la version système dans pyenv

Avec le traitement ci-dessus, dans le cas de l'auteur, une saisie clé est possible.

Postscript

À propos, lors de l'utilisation dans l'environnement Python2, la plupart des fonctions fonctionnent sans problème, Les fonctions telles que mapper, réduire et filtrer n'ont pas besoin d'être incluses dans list (), etc. Si vous supprimez cette partie, cela fonctionnera sans aucun problème.

Recommended Posts

Traitement lorsque l'entrée clé de pygame Python ne se passe pas bien.
Lors de l'incrémentation de la valeur d'une clé qui n'existe pas
Entrée clé qui n'attend pas l'entrée clé en Python
Lorsque cv2.VideCapture (aviname) ne lit pas bien
Python> Python n'inclut pas le dernier décalage
L'histoire du traitement A du blackjack (python)
Exemple de ce qu'il faut faire lorsque l'exemple de script ne fonctionne pas (OpenCV-Python)
À propos du problème que la version python de Google App Engine ne maille pas
Afficher le résultat du traitement de la géométrie en Python
Traitement d'image? L'histoire du démarrage de Python pour
Que faire si Python3 Venv ne fonctionne pas bien sur Raspberry Pi
Solution lorsque Linux ne reconnaît pas la caméra intégrée
Examiner le traitement de fermeture de l'ensemble de données Python (wrapper SQLAlchemy)
Ne pas être conscient du contenu des données en python
Vérifier quand la version ne change pas dans pyenv
Séquence de touches en Python
le zen de Python
Séquence de touches en Python
Divers traitements de Python
Le traitement parallèle de Python joblib ne fonctionne pas dans l'environnement uWSGI. Comment traiter en parallèle sur uWSGI?
Je ne veux pas de document if lors du traitement après confirmation de l'existence de la clé dict
[Python débutant] Variables et portée à l'intérieur de la fonction (lorsque le traitement à l'intérieur de la fonction est reflété à l'extérieur de la fonction et quand il n'est pas reflété)
Grep pour que grep n'apparaisse pas au moment de grep
Note de prise en charge des erreurs Python: "... ne prend pas en charge l'argument 0 de type float ..."
Vérifier quand le conteneur Docker ne se connecte pas à Internet
Le websocket de toio (nodejs) et python / websocket ne se connecte pas.
[Python] Tensorflow 2.0 ne supportait pas Python 3.8, donc l'histoire de la rétrogradation de Python
python3 Mesurez la vitesse de traitement.
Vers la retraite de Python2
la version de python ne change pas
À propos des fonctionnalités de Python
Le pouvoir des pandas: Python
L'histoire selon laquelle la version de python 3.7.7 n'était pas adaptée à Heroku
L'histoire de ne pas pouvoir exécuter pygame avec pycharm
Comptez bien le nombre de caractères thaïlandais et arabes en Python
Comment déterminer qu'une clé croisée a été entrée dans Python3
Solution lorsque la couverture de fond de VS Code pour Linux ne fonctionne pas
Tkinter canvas (fenêtre) ne démarre pas lors de l'exécution de Python 3.7.4 sur Atom
Une fonction qui mesure le temps de traitement d'une méthode en python
L'histoire du travail de sortie de l'application que Google ne raconte pas
Le problème que la version de Vue CLI n'a pas augmenté
Construire un environnement Python sur Ubuntu (lorsque pip n'était pas la valeur par défaut)
Lorsque le programme pip installé sur Mac / Marvericks ne fonctionne pas