WindowsからRaspberry pythonスクリプトを開発する


10

いくつかの理由で、Windows側からRaspberry pythonスクリプトを開発したいと思います。RPiをフライする/別のプロジェクトを試す/ Piを再インストールする場合に備えて、コンピューター上のすべてのコードを(より)安全に保ちたいです。また、2つの画面を備えた私のメインコンピューターはWindows上にあり、SSH経由のvim(パテ付き)を使用するのは良い方法ではない(個人的な意見ですが、人間工学的にはわかりません)。

私はこれを見つけました:http : //visualgdb.com/tutorials/raspberry/これにより、RaspberryのC +アプリケーションを開発したり、リモートでコンパイルしたりできるようになります。

Pythonスクリプト開発に相当するものはありますか?

これは基本的に私を許可します:

  1. 私のWindowsでPythonで開発するには
  2. 「実行」ボタンを押してスクリプトをRPiにデプロイし、起動するには
  3. (夢の解決策)ブレークポイントを設定してデバッグするには?

Git、Mercurial、SVNなどのCMシステムの使用を検討してください。私は個人的にはmercurialを好みます。これを使用すると、Windowsマシンから変更をプッシュして、それらをラズベリーpiに取り込むことができます。
James Mertz、2015

私は現在のGitを持っているが、これはここでは本当に問題ではない
J4N

したがって、これがコメントではなく回答である理由;)
James Mertz

回答:


4

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行の直後の行で一時停止します。必要に応じて、設定で変更できます。

その時点で、リモートでデバッグしています。:)

リモートスクリプトのブレークポイント


私は見ていきます、私はすでにしばらくの間、Resharperを持っています:)
J4N

piのリモートデバッグ用にPyCharmをセットアップする方法のチュートリアルまたは簡単な概要を教えていただけますか?私はそれを動作させるのに問題を抱えています。
James Mertz、2015

回答がリモートデバッグの概要で更新されました。@KronoS
berto

1

1つのオプションは、Pythonスクリプトをネットワークドライブに保存することです。

たとえば、すべてのコードをラップトップに(適切にバックアップされて)コードと呼ばれるディレクトリの下に保存します。NFSを使用してディレクトリをネットワークにエクスポートします。

Piでは、ラップトップのNFSディレクトリは/ codeにマップされます。

これにより、ラップトップ(またはPi)で開発し、Piにsshを実行して/code/script.pyを使用するだけで、Piでスクリプトを実行できます。

一般に、追加のデバッグツールを必要としないように、Pythonはバックトレースでエラーについて十分に明らかにしています。


私はすでにネットワーク共有が可能であると考えていましたが、それでも私はPiに行き、毎回起動して停止する必要があり、デバッグを許可しません。
J4N 2015

2
@ J4N私は通常、ラップトップでPiへの永続的なSSHターミナルウィンドウを開いています。したがって、スクリプトの実行は上向きの矢印に戻ります。デバッグに問題はありませんでした。私が言ったように、バックトレースは多くの情報を提供し、他のものについてはスクリプトの周りに散らばったいくつかのプリントが通常問題を見つけます。
ジョーン2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.