Je veux développer un script Python Raspberry du côté Windows, pour plusieurs raisons: je veux garder tout le code (plus) en sécurité sur mon ordinateur, au cas où je ferais frire le RPi / essayer un autre projet / réinstaller le Pi. De plus, mon ordinateur principal avec les deux écrans est sous Windows et je trouve que l'utilisation de vim sur SSH (avec du mastic) n'est pas une bonne façon de le faire (opinion personnelle, mais je ne le trouve pas ergonomique).
J'ai trouvé ceci: http://visualgdb.com/tutorials/raspberry/ qui semble me permettre de développer une application C + pour la framboise, de la compiler à distance et ainsi de suite.
Y a-t-il quelque chose d'équivalent pour le développement de scripts python?
Ce qui me permettrait essentiellement:
- Développer en python sur mes fenêtres
- Pour appuyer sur le bouton "Exécuter" et faire déployer le ou les scripts sur le RPi et les lancer
- (Solution de rêve) Pour mettre des points d'arrêt et déboguer?
Réponses:
Découvrez PyCharm . Je suis un client payant heureux depuis des années, mais une édition communautaire gratuite est également disponible.
Il existe un plugin de surveillance de fichiers qui copiera les fichiers sur une machine distante (votre RPi). Et il a la possibilité d'effectuer un débogage à distance .
câbler les modules de débogage
En ce qui concerne la configuration du débogage à distance PyCharm, la première chose à faire est de câbler
pycharm-debug.egg
. Je suis sur un Mac et dans mon cas, le fichier est à/Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
. Je l'ai copié sur mon RPi avec la commande:Ce fichier doit être quelque part dans le chemin de Python pour qu'il puisse être trouvé. J'ai cherché un endroit approprié en exécutant ce qui suit:
À partir de cette liste, je pense que
/usr/local/lib/python2.7/dist-packages/
c'est le plus approprié (parce que c'est dedans/usr/local
), donc:Et nous avons besoin d'un
.pth
fichier pour l'injecter dans le chemin:Enfin, vérifiez la configuration:
Cool, les modules de débogage sont câblés. On débogue un script. Je vais déboguer le script d'écoute que j'ai écrit pour ce post .
Configuration de PyCharm
Dans PyCharm, allez à
Run -> Edit Configurations...
Appuyez sur le
+
signe en haut à gauche et sélectionnezPython Remote Debug
. Donnez-lui simplement un nom,remote debug
et vous avez terminé ici; cliquez sur ok.Maintenant, cliquez sur
Run -> Debug 'remote debug'
et vous verrez un message dans la console de débogage,Use the following code to connect to the debugger
Copiez les lignes, dans mon cas, elles ont fini par ressembler à ceci:
Collez-les en haut du fichier que vous déboguez et enregistrez le fichier.
Sans utiliser le plugin de synchronisation de fichiers, je copie les fichiers à l'aide de rsync:
Maintenant, notez que la configuration indique
localhost
. La meilleure façon de câbler le débogueur est d'utiliser les capacités de redirection de port de SSH afin que le RPi puisse être sur votre bureau ou dans le monde entier et qu'il fonctionne de la même manière. SSH dans le RPi en utilisant cette commande pour lier le port distant au port local:PyCharm devrait vous montrer un message
Waiting for process connection...
Sur le RPi, exécutez le programme et vous verrez le débogueur entrer en jeu. Par défaut, il s'arrête sur la ligne juste après la ligne pydevd, que vous pouvez modifier dans la configuration si vous le souhaitez.
Et à ce stade, vous déboguez à distance! :)
la source
Une option consiste simplement à stocker vos scripts Python sur un lecteur réseau.
Par exemple, je garde tout mon code sur un ordinateur portable (correctement sauvegardé) dans un répertoire appelé code. J'exporte le répertoire vers le réseau en utilisant NFS.
Sur le Pi, le répertoire NFS de l'ordinateur portable est mappé sur / code.
Cela me permet de développer sur l'ordinateur portable (ou Pi) et d'exécuter le script sur le Pi simplement en accédant au Pi et en utilisant /code/script.py.
En général, je trouve que Python révèle suffisamment de mes erreurs avec sa trace pour que je n'aie pas besoin d'outils de débogage supplémentaires.
la source