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 줄 바로 다음 줄에서 일시 중지되며 원하는 경우 구성에서 변경할 수 있습니다.
그리고 그 시점에서 원격으로 디버깅하고 있습니다! :)