Windows에서 Raspberry Python 스크립트 개발


10

여러 가지 이유로 Windows 측에서 Raspberry python 스크립트를 개발하고 싶습니다 .RPP를 튀기거나 다른 프로젝트를 시도하거나 Pi를 다시 설치하는 경우 컴퓨터에서 모든 코드를 더 안전하게 유지하고 싶습니다. 또한 두 개의 화면이있는 내 주요 컴퓨터는 Windows에 있으며 SSH를 통해 vim (퍼티 포함)을 사용하는 것이 좋은 방법이 아니라는 것을 알았습니다 (개인 의견이지만 인체 공학적이라고는 생각하지 않습니다).

나는 이것을 발견했다 : http://visualgdb.com/tutorials/raspberry/ 이것은 내가 Raspberry를위한 C + 응용 프로그램을 개발하고 그것을 원격으로 컴파일하는 등을 허용하는 것처럼 보인다.

파이썬 스크립트 개발과 동등한 것이 있습니까?

기본적으로 어느 것이 나를 허용 할 것입니까?

  1. 내 창에서 파이썬으로 개발하려면
  2. "실행"버튼을 누르고 스크립트를 RPi에 배포하고 시작
  3. (드림 솔루션) 중단 점을 넣고 디버그하려면?

Git, Mercurial 또는 SVN과 같은 CM 시스템 사용을 고려할 수 있습니다. 나는 개인적으로 수은을 선호하고 그것으로 당신은 당신의 윈도우 머신에서 변화를 밀어 라즈베리 파이로 끌어 올 수 있습니다.
제임스 메르 츠

나는 현재 힘내를 가지고 있지만 이것은 실제로 여기서 문제가 아니다
J4N

그러므로 이것이 왜 주석이 아닌 답이 되는가;)
James Mertz

충분히
공평

답변:


4

PyCharm을 확인하십시오 . 나는 수년간 행복한 유료 고객 이었지만 무료 커뮤니티 에디션 도 제공됩니다.

원격 컴퓨터 (RPi)에 파일을 복사 하는 파일 감시기 플러그인 이 있습니다. 또한 원격 디버깅 을 수행 할 수 있습니다.

디버깅 모듈 연결

PyCharm 원격 디버깅 설정과 관련하여 가장 먼저해야 할 일은 wire up pycharm-debug.egg입니다. 나는 Mac에 있고 제 경우에는 파일이에 /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg있습니다. 다음 명령을 사용하여 RPi에 복사했습니다.

scp /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg pi@mediapi:

이 파일을 찾으려면 Python 경로의 어딘가에 있어야합니다. 다음을 실행하여 적절한 장소를 찾았습니다.

pi@mediapi ~ $ python -c 'import sys; print sys.path'
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7']

이 목록에서 /usr/local/lib/python2.7/dist-packages/(가 있기 때문에) 가장 적합 하다고 생각합니다 /usr/local.

sudo mv pycharm-debug.egg /usr/local/lib/python2.7/dist-packages/

그리고 .pth경로에 파일을 삽입 하려면 파일이 필요합니다 .

pi@mediapi ~ $ echo /usr/local/lib/python2.7/dist-packages/pycharm-debug.egg | sudo tee -a /usr/local/lib/python2.7/dist-packages/pycharm-debug.pth

마지막으로 설정을 확인하십시오.

pi@mediapi ~ $ python -c 'import pydevd; print pydevd'
<module 'pydevd' from '/usr/local/lib/python2.7/dist-packages/pycharm-debug.egg/pydevd.py'>

멋지게 디버깅 모듈이 연결되어 있습니다. 스크립트 디버깅을 시작합니다. 이 게시물에 대해 작성한 리스너 스크립트를 디버깅하겠습니다 .

PyCharm 설정

PyCharm에서 Run -> Edit Configurations...

+왼쪽 상단 의 기호를 누르고를 선택하십시오 Python Remote Debug. 간단히 이름을 지정 remote debug하면 여기에 완료됩니다. 확인을 누르십시오.

원격 디버그 구성

이제를 클릭 Run -> Debug 'remote debug'하면 디버그 콘솔에 메시지가 표시됩니다.Use the following code to connect to the debugger

내 경우에는 다음과 같이 표시됩니다.

import pydevd
pydevd.settrace('localhost', port=56112, stdoutToServer=True, stderrToServer=True)

디버깅하는 파일의 맨 위에 붙여넣고 파일을 저장하십시오.

파일 동기화 플러그인을 사용하지 않고 rsync를 사용하여 파일을 복사합니다.

[berto@g6]$ rsync -av ./ pi@mediapi:broadcast/

이제 구성에이라고 표시되어 있습니다 localhost. 디버거를 배선하는 가장 좋은 방법은 SSH의 포트 전달 기능을 사용하여 RPi가 책상이나 전 세계에있을 수 있으며 같은 방식으로 작동하는 것입니다. 이 명령을 사용하여 RPi에 SSH하여 원격 포트를 로컬 포트에 연결하십시오.

[berto@g6]$ ssh -R 56112:localhost:56112 pi@mediapi

PyCharm이 메시지를 보여줘야합니다 Waiting for process connection...

프로세스 연결을 기다리는 중

RPi에서 프로그램을 실행하면 디버거가 시작됩니다. 기본적으로 pydevd 줄 바로 다음 줄에서 일시 중지되며 원하는 경우 구성에서 변경할 수 있습니다.

그리고 그 시점에서 원격으로 디버깅하고 있습니다! :)

원격 스크립트의 중단 점


한 번 살펴 보겠다. 이미 Resharper가있다. :)
J4N

pi에서 원격 디버깅을 위해 PyCharm을 설정하는 방법에 대한 자습서 또는 간단한 개요를 제공 할 수 있습니까? 작동시키는 데 문제가 있습니다.
제임스 메르 츠

답변은 원격 디버깅 개요로 업데이트되었습니다. @KronoS
berto

1

한 가지 옵션은 단순히 Python 스크립트를 네트워크 드라이브에 저장하는 것입니다.

예를 들어 코드라는 디렉토리 아래 랩톱 (적절하게 백업 된)에 모든 코드를 보관합니다. NFS를 사용하여 디렉토리를 네트워크로 내 보냅니다.

Pi에서 랩톱 NFS 디렉토리는 / code에 매핑됩니다.

이를 통해 랩톱 (또는 Pi)에서 개발하고 Pi에 ssh 's하고 /code/script.py를 사용하여 Pi에서 스크립트를 실행할 수 있습니다.

일반적으로 파이썬은 추가 디버깅 도구가 필요하지 않기 때문에 백 트레이스로 내 오류에 대해 충분히 밝힌다는 것을 알았습니다.


나는 네트워크 공유가 가능하다는 것을 이미 힘들었지 만 여전히 Pi로 가서 매번 시작하고 중지해야하며 디버깅을 허용하지 않습니다.
J4N

2
@ J4N 일반적으로 랩톱에서 Pi의 영구 SSH 터미널 창이 열려 있습니다. 따라서 스크립트를 실행하면 위쪽 화살표가됩니다. 디버깅에 문제가 없었습니다. 내가 말했듯이 백 트레이스는 많은 정보를 제공 할 것이며 스크립트 주위에 흩어져있는 몇 가지 지문이 일반적으로 문제를 발견합니다.
joan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.