PyCharmをチェックしてください。私は長年にわたって有料の顧客として満足していますが、無料のコミュニティエディションも利用できます。
リモートマシン(RPi)にファイルをコピーするファイル監視プラグインがあります。また、リモートデバッグを実行する機能もあります。
デバッグモジュールの配線
PyCharmリモートデバッグの設定に関して、最初に行うことは、ワイヤーアップ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行の直後の行で一時停止します。必要に応じて、設定で変更できます。
その時点で、リモートでデバッグしています。:)