Python Raspberry Pi

パソコンのVS CodeからラズパイのPythonファイルを直接編集しよう!

更新日:

Raspberry Pi(以下ラズパイ)でPythonプログラミングをしていると、「パソコンで直接編集したいなぁ」と思ってしまいます。ラズパイの設置場所と離れた環境での編集や、いちいちラズパイにモニタやキーボードを接続する必要がないからですね。

これは「パソコンVS Code上からSSH接続してラズパイ内のファイルを直接実行」という方法で解決できます。いつも使っているVS Codeで編集ができるので大変効率が良いです。

*私の実行環境

  • windows 10 pro ver1809
  • Windows Subsystem for Linux on Ubuntu 18.04
  • VS Code ver 1.30.2
  • ラズパイ 3b+

パソコンのVS CodeからラズパイのPythonファイルを直接編集する方法

ラズパイにVS Codeをインストールすることもできますが、できれば慣れたパソコンからプログラミングしたいですよね。VS Codeには便利なプラグインがあって、簡単にラズパイ内のフォルダを参照できるようになります。

「SSH FS」というVS Codeのプラグインで可能です。Qiitaの下記記事を参考に、早速プラグインのインストール~設定をしてみましょう。

1.VS CodeにSSH FSプラグインをインストール

  1. VS Codeを開きます
  2. ①の拡張機能ボタンをクリックします
  3. ②の検索エリアに「SSH FS」と入力します
  4. ③にSSH FSが表示されるのでクリックします
  5. ④にSSH FSが表示されるので「インストール」を押します
  6. インストール後再読み込みボタンを押します

再読み込みボタンは必ず押してください。VS CodeにSSH FSが正式に登録されます。

再読み込みされ、VS Codeが再起動されたら、2.SSH FSの設定に進んでください。

2.SSH FSの設定

1)VS Code画面左下に新しくSSH FILE SYSTEMSが追加されていますのでクリックします。

2)SSH FILE SYSTEMSのエリアが展開されます

3)SSH FILE SYSTEMSエリアの中でマウス右クリックするとCreate a SSH FS configurationボタンが現れるのでクリックします。

4)VS Code画面上に、SSH FSの設定項目が現れます。Nameの欄にSSH接続の適当な名前を入力してSaveを押してください。

5)パソコンからラズパイにSSH接続するための情報を入力します。

たくさん設定項目がありますが、最低限必要な項目は以下の通りです。

"Name":

4)で登録した名前が表示されていると思います。変更したければ、この部分を変更します。

"Host":

ラズパイのIPアドレスもしくはホスト名(raspberrypi)を入力します。

"Port":

ポート番号を変更していなければ、ラズパイの初期値は「22」です。

"Root":

ラズパイ内のどのフォルダにログインするかをPATHで入力します。「/home/pi」としておくと、ログイン後、すぐにpiユーザのホームディレクトリに移動されています。

"Username":

ラズパイにログインするときのユーザー名です。通常は「pi」です。

"Password":

ラズパイにログインするときのパスワードです。パスワードを直書きするのが心配、ということであれば公開鍵認証という認証方式を使ってパスワード無しで、安全にログインする方法もあります。

➡「ラズパイにパスワード無しで安全にSSHログインする方法【リモート開発】

6)設定が出来たら保存(Ctrl + S)をします。

3.SSH FSでラズパイにログインする

1)SSH FSの設定を保存すると、画面右下に接続を促すポップアップが表示されます。「Connect」をクリックします。

3)ラズパイへのSSH接続が成功すると、画面左側のエクスプローラーにファイルツリーが表示されます。これで好きなファイルを編集できますね。

SSH接続できないときは

Windowsの場合、「Putty」というSSHクライアントソフトが必要とSSH FSのドキュメントに書かれています。しかしWindows10でアップデートしてあれば、標準でPowerSellにSSHクライアント機能が付くようになりました。

私の環境ではPuttyをインストールせずにVS CodeからラズパイへSSH接続できました。どうしてもSSH接続できなければ、下記リンクを参考にPuttyをインストールして再度設定してみてください。

外部リンク:PuTTYのインストール - PuTTYの使い方

4.ターミナルからのラズパイ内ファイルの実行

PCからSSH接続したラズパイ内のPythonファイルを編集する場合、VS Codeのデバッグ機能が使えません。できる方法はあるようですが、設定が非常に複雑なため、私はターミナルからPythonファイルを実行して動作を確認しています。

1)Ctrl + @でターミナルが開きます。私の場合はWindows10にubuntuを入れ、ターミナルをUbuntuにしていますが(現在はGitBash)、通常はPowerShellが立ち上がります。SSH接続の操作は同じです。

蛇足ですが、VSCodeのターミナルをWSL版のUbuntuにはしない方が良いです(笑)理由は下記に記載しました。
➡「Windows版VSCodeのターミナルって結局どれがいいの?

ターミナル画面に 下記を入力しエンターを押します。

ssh pi@192.168.13.70

ssh接続で piユーザーとしてIPアドレス192.168.13.70のPCにアクセスするコマンドです。パスワードが聞かれ、VS Codeのターミナルからラズパイにログインできます。

が、もっと便利でセキュリティ的に安全に接続する方法があります。

下記ページにて、SSH FSからも、VSCodeのターミナルからも素早く接続する方法を解説しています。手間はかかりますが、ラズパイ等のLinux系IoTデバイスのセキュリティを確保し、安全にスムーズにログインできるようになります。ぜひお試しください!!

おすすめ
ラズパイにパスワード無しで安全にSSHログインする方法【リモート開発】

ラズパイにリモートアクセスしてファイル編集する際、毎回SSHログインでパスワード入力するの面倒ですよね。また、ラズパイをデフォルトの「ユーザ:pi、パスワード:raspberry」のままインターネット ...

続きを見る

2)ログイン後は、実行したいPythonファイルがあるフォルダに移動し、Pythonファイルを実行します。

cd <フォルダ名>・・・・目的のフォルダに移動します

python3 <ファイル名.py>・・・・pythonファイルの実行

*コマンド(cdやPython)とフォルダ名・ファイル名との間には半角スペースが必要です。

まとめ

以上でパソコンのVS Codeからラズパイ内のPythonファイルを直接編集・実行できるようになりました。デバックが人手間かかりますが、いちいちラズパイにモニタ・キーボードつないで、ラズパイ内で編集するよりは効率が上がります。SSH設定は手間ですが、ひとつづつ確実に設定していけば戸惑う個所は無いはずです。

ラズパイのPythonなどをスムーズに編集するにはVSCodeをいかに使いこなすかにかかっています。最近はVSCodeの良い参考書も出ていますので、思考の速度で編集できるように読んでみてはいかがでしょうか?

タグ

カテゴリー

  • この記事を書いた人
アバター

from-age35

中小企業エンジニアです。35歳で急遽プログラミングを覚えることになり、PythonやJavaScriptなどをゆっくりマイペースに覚えています。先端スキルには疎いですが、楽しくコーディングしてます♪最近の興味は【WEB開発】です

-Python, Raspberry Pi
-,

Copyright© 35からのプログラミング , 2019 All Rights Reserved Powered by AFFINGER5.