Lihat PyCharm . Saya telah menjadi pelanggan yang berbayar selama bertahun-tahun, namun edisi komunitas gratis juga tersedia.
Ada plugin pengamat file yang akan menyalin file ke mesin jarak jauh (RPi Anda). Dan ia memiliki kemampuan untuk melakukan debugging jarak jauh .
memasang modul debugging
Sehubungan dengan pengaturan debug jarak jauh PyCharm, hal pertama yang harus dilakukan adalah memasang kawat pycharm-debug.egg
. Saya menggunakan Mac dan dalam kasus saya file ada di /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg
. Saya menyalinnya ke RPi saya dengan perintah:
scp /Applications/PyCharm.app/Contents/debug-eggs/pycharm-debug.egg pi@mediapi:
File ini harus berada di jalur Python agar dapat ditemukan. Saya mencari tempat yang cocok dengan menjalankan yang berikut:
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']
Dari daftar itu saya percaya /usr/local/lib/python2.7/dist-packages/
paling cocok (karena ada di /usr/local
), jadi:
sudo mv pycharm-debug.egg /usr/local/lib/python2.7/dist-packages/
Dan kami membutuhkan .pth
file untuk menyuntikkannya ke path:
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
Terakhir, verifikasi pengaturan:
pi@mediapi ~ $ python -c 'import pydevd; print pydevd'
<module 'pydevd' from '/usr/local/lib/python2.7/dist-packages/pycharm-debug.egg/pydevd.py'>
Keren, modul debugging terhubung. Aktif untuk debugging skrip. Saya akan men-debug skrip pendengar yang saya tulis untuk posting ini .
Pengaturan PyCharm
Di PyCharm, buka Run -> Edit Configurations...
Tekan +
tanda di kiri atas dan pilih Python Remote Debug
. Cukup beri nama, remote debug
dan Anda selesai di sini; tekan ok.
Sekarang klik Run -> Debug 'remote debug'
dan Anda akan melihat pesan di konsol debug,Use the following code to connect to the debugger
Salin garis, dalam kasus saya mereka akhirnya terlihat seperti ini:
import pydevd
pydevd.settrace('localhost', port=56112, stdoutToServer=True, stderrToServer=True)
Rekatkan di bagian atas file yang sedang Anda debug dan simpan file tersebut.
Tanpa menggunakan plugin sinkronisasi file, saya menyalin file menggunakan rsync:
[berto@g6]$ rsync -av ./ pi@mediapi:broadcast/
Sekarang, perhatikan konfigurasi mengatakan localhost
. Cara terbaik untuk menyelesaikan debugger adalah dengan menggunakan kemampuan port forwarding SSH sehingga RPi bisa ada di meja Anda atau di seluruh dunia dan bekerja dengan cara yang sama. SSH ke RPi menggunakan perintah ini untuk menautkan port jarak jauh ke port lokal:
[berto@g6]$ ssh -R 56112:localhost:56112 pi@mediapi
PyCharm akan menampilkan pesan kepada Anda Waiting for process connection...
Pada RPi, jalankan program dan Anda akan melihat tendangan debugger. Secara default itu berhenti pada baris tepat setelah baris pydevd, yang dapat Anda ubah di konfigurasi jika Anda mau.
Dan pada saat itu Anda sedang melakukan debug jarak jauh! :)