Quero desenvolver um script python Raspberry do lado do Windows, por várias razões: quero manter todo o código (mais) seguro no meu computador, caso frite o RPi / tente outro projeto / reinstale o Pi. Além disso, meu computador principal com as duas telas está no Windows e acho que usar o vim sobre SSH (com massa de vidraceiro) não é uma boa maneira de fazê-lo (opinião pessoal, mas não acho ergonômico).
Encontrei o seguinte: http://visualgdb.com/tutorials/raspberry/, que parece me permitir desenvolver um aplicativo C + para o Raspberry, compilá-lo remotamente e assim por diante.
Existe algo equivalente para o desenvolvimento de scripts python?
O que basicamente me permitiria:
- Para desenvolver em python no meu windows
- Para pressionar o botão "executar" e implantar o (s) script (s) no RPi e iniciar
- (Solução dos sonhos) Colocar pontos de interrupção e depuração?
Respostas:
Confira PyCharm . Sou um cliente pagador feliz há anos, no entanto, uma edição gratuita da comunidade também está disponível.
Há um plug-in do observador de arquivos que copiará os arquivos para uma máquina remota (seu RPi). E tem a capacidade de executar depuração remota .
conecte os módulos de depuração
No que diz respeito à configuração da depuração remota PyCharm, a primeira coisa a fazer é conectar
pycharm-debug.egg
. Estou em um Mac e, no meu caso, o arquivo está em/Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
. Copiei para o meu RPi com o comando:Este arquivo precisa estar em algum lugar no caminho do Python para ser encontrado. Procurei um local adequado executando o seguinte:
A partir dessa lista, acredito que
/usr/local/lib/python2.7/dist-packages/
seja mais adequado (porque está dentro/usr/local
), então:E precisamos de um
.pth
arquivo para injetá-lo no caminho:Por fim, verifique a configuração:
Legal, os módulos de depuração estão conectados. Em para depurar um script. Vou depurar o script do ouvinte que escrevi para este post .
Configuração do PyCharm
No PyCharm, vá para
Run -> Edit Configurations...
Bata no
+
sinal no canto superior esquerdo e selecionePython Remote Debug
. Simplesmente dê um nomeremote debug
e pronto! aperte ok.Agora clique em
Run -> Debug 'remote debug'
e você verá uma mensagem no console de depuração,Use the following code to connect to the debugger
Copie as linhas, no meu caso elas acabaram assim:
Cole-os na parte superior do arquivo que você está depurando e salve o arquivo.
Sem usar o plug-in de sincronização de arquivos, copio os arquivos usando o rsync:
Agora, observe a configuração diz
localhost
. A melhor maneira de conectar o depurador é usar os recursos de encaminhamento de porta do SSH para que o RPi possa estar em sua mesa ou ao redor do mundo e funcione da mesma maneira. SSH no RPi usando este comando para vincular a porta remota à porta local:PyCharm deve mostrar uma mensagem
Waiting for process connection...
No RPi, execute o programa e você verá o depurador entrar. Por padrão, ele pausa na linha logo após a linha pydevd, que você pode alterar na configuração, se desejar.
E nesse ponto você está depurando remotamente! :)
fonte
Uma opção é simplesmente armazenar seus scripts Python em uma unidade de rede.
Por exemplo, mantenho todo o meu código em um laptop (com backup adequado) em um diretório chamado code. Eu exporto o diretório para a rede usando o NFS.
No Pi, o diretório NFS do laptop é mapeado para / code.
Isso me permite desenvolver no laptop (ou Pi) e executar o script no Pi simplesmente ssh'ing no Pi e usando /code/script.py.
Geralmente, acho que o Python revela o suficiente sobre os meus erros com seu backtrace para que eu não precise de ferramentas de depuração adicionais.
fonte