Quiero desarrollar un script de Raspberry python desde el lado de Windows, por varias razones: quiero mantener todo el código (más) seguro en mi computadora, en caso de que fríe el RPi / intente otro proyecto / reinstale el Pi. Además, mi computadora principal con las dos pantallas está en Windows y encuentro que usar vim sobre SSH (con masilla) no es una buena forma de hacerlo (opinión personal, pero no me parece ergonómico).
Encontré esto: http://visualgdb.com/tutorials/raspberry/ que parece permitirme desarrollar una aplicación C + para Raspberry, compilarla de forma remota, etc.
¿Hay algo equivalente para el desarrollo del script python?
Lo que básicamente me permitiría:
- Para desarrollar en python en mis ventanas
- Para presionar el botón "Ejecutar" y tener los scripts implementados en el RPi, y lanzar
- (Solución ideal) ¿Para poner puntos de interrupción y depuración?
Respuestas:
Echa un vistazo a PyCharm . He sido un cliente que paga feliz por años, sin embargo, también hay disponible una edición comunitaria gratuita .
Hay un complemento de observación de archivos que copiará los archivos a una máquina remota (su RPi). Y tiene la capacidad de realizar depuración remota .
cablear módulos de depuración
Con respecto a la configuración de la depuración remota de PyCharm, lo primero que debe hacer es realizar la conexión
pycharm-debug.egg
. Estoy en una Mac y en mi caso el archivo está en/Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
. Lo copié en mi RPi con el comando:Este archivo debe estar en algún lugar de la ruta de Python para poder encontrarlo. Busqué un lugar adecuado ejecutando lo siguiente:
De esa lista, creo que
/usr/local/lib/python2.7/dist-packages/
es más adecuado (porque está en/usr/local
), así que:Y necesitamos un
.pth
archivo para inyectarlo en la ruta:Finalmente, verifique la configuración:
Genial, los módulos de depuración están conectados. Activado para depurar un script. Voy a depurar el guión de escucha que escribí para esta publicación .
Configuración de PyCharm
En PyCharm, vaya a
Run -> Edit Configurations...
Presiona el
+
letrero en la esquina superior izquierda y seleccionaPython Remote Debug
. Simplemente dale un nombreremote debug
y listo; pulsa okAhora haga clic en
Run -> Debug 'remote debug'
y verá un mensaje en la consola de depuración,Use the following code to connect to the debugger
Copie las líneas, en mi caso, terminaron luciendo así:
Pégalos en la parte superior del archivo que estás depurando y guarda el archivo.
Sin usar el complemento de sincronización de archivos, copio los archivos usando rsync:
Ahora, observe que la configuración dice
localhost
. La mejor manera de cablear el depurador es usar las capacidades de reenvío de puertos de SSH para que el RPi pueda estar en su escritorio o en todo el mundo y funcione de la misma manera. SSH en el RPi usando este comando para vincular el puerto remoto al puerto localPyCharm debería mostrarte un mensaje
Waiting for process connection...
En el RPi, ejecute el programa y verá cómo se activa el depurador. Por defecto, se detiene en la línea justo después de la línea de pydevd, que puede cambiar en la configuración si lo desea.
¡Y en ese momento estás depurando remotamente! :)
fuente
Una opción es simplemente almacenar sus scripts Python en una unidad de red.
Por ejemplo, guardo todo mi código en una computadora portátil (con una copia de seguridad adecuada) en un directorio llamado código. Exporto el directorio a la red usando NFS.
En el Pi, el directorio NFS de la computadora portátil está asignado a / code.
Eso me permite desarrollar en la computadora portátil (o Pi) y ejecutar el script en la Pi simplemente enviando a la Pi y usando /code/script.py.
En general, encuentro que Python revela lo suficiente sobre mis errores con su traza inversa para que no necesite herramientas de depuración adicionales.
fuente