目次

概要

PyCharmでリモート開発を開始する歳の、リモートインタプリタの設定手順です。
毎回毎回忘れてハマるので、必ず動く手順を確立して残しておきます。

手順

PyCharm→Preferencesで設定画面を開く。

※特定のプロジェクト専用の設定ではなく pycharm_remote_01.png

Default Preferences 画面でProject Interpreterを選択

pycharm_remote_02.png

Add Python Interpreter画面
左ペインでSSH Interpreterを選択。
右ペインで接続先のホスト名、ユーザ名を指定してNext。
pycharm_remote_03.png

認証方式を選択。
本例では秘密鍵認証を使うため、Key Pairのパスを指定。
秘密鍵にパスフレーズを指定している場合は、Passphraseを指定。
pycharm_remote_04.png

接続と認証に成功すれば、Interpreterのパスを要求される。
Python3を基本としたいので、/usr/bin/python3を指定し、Finish。
pycharm_remote_05.png

Project Interpreter画面に戻る。
右ペイン内、Project Interpreter:に
Remote Python(バージョン番号) ホスト名:22/Pythonのパス
が表示されている。

pycharm_remote_06.png

右のメニューからShow Allを選択。
pycharm_remote_07.png

PyCharmに登録済のInterpreter一覧が表示されるので、
先ほど登録したRemote Pythonを選択して、ウインドウ下部の鉛筆アイコンを選択。

pycharm_remote_08.png

Configure Remote Python Interpreter画面
Deployment configurationを選択
ここにはインタプリタ登録時に指定した情報が表示される。
(変更はせず、内容の確認だけでよい)
pycharm_remote_09.png

SSH Credentialsを選択
ここもUser名、鍵ファイルパスが正しく入っていることを確認。
OKを選択。
pycharm_remote_10.png

Project Interpreter画面に戻るので、Applyを選択。
pycharm_remote_11.png

確認のため、テスト用のプロジェクトを1つ作成する。

pycharm_remote_12.png

【ここ重要】
New Project 画面

  • 画面上部のLocation:欄
    開発を実行するローカルPC側のPyCharmプロジェクトフォルダパスを入力。
    例えば自分のMacBookの場合は
    /Users/kowloon/PyCharmProjects/プロジェクト名
    ↑ あくまでローカルPCのパス。
    リモート側のサーバにこのパスが存在しなくてもよい。

  • 画面中腹のInterpreter:欄
    さきほど作成したリモートインタプリタ(Remote Python(バージョン番号)と表示されている)を選択

  • 画面最下部のRemote project location: 欄
    実際にPythonのコードを実行するリモートのサーバ側のPyCharmプロジェクトフォルダパスを指定。
    例えば本例では
    /home/kowloon/プロジェクト名
    ↑ あくまでリモートのサーバ側のパス。
    ローカル側のPCにこのパスが存在しなくてもよい。
    ここでリモート側のパスを指定し忘れると、/tmp/配下に自動で作成されてしまう。
    必ずリモート側のパスを明示的に指定しましょう

ここまで入力してCreateを実行。
pycharm_remote_13.png

PyCharm → Preferencesを選択

Preferences画面
左ペインでBuild,Execution,Deployment → Deployment を選択
右ペインのMappingsタブを選択
Local Path:
Deployment path on server:
それぞれローカルPC、リモートのPython実行サーバの双方に実在するパスであることを確認。

pycharm_remote_14.png

テスト用のコードを作成して保存。
PyCharm画面のログにてAutomatic Uploadが成功していることを確認。
pycharm_remote_15.png

テスト用のコードをRun。
PyCharm画面のログにて

ssh://ユーザ名@ホスト名:22/Pythonのパス -u Pythonファイルのパス  
実行結果

が表示されること。

pycharm_remote_16.png

ここでよくあるエラーは
- ssh://ユーザ名@ホスト名:22/Pythonのパス -u Pythonファイルのパス
の、最後のPythonファイルのパスがリモート側ではなく、ローカル側と同じパスになっているため、スクリプトファイルが存在しないエラー

PreferencesのDeploymentにて、Mappingsタブを見直し
正しくリモート側のパスが指定されているか

PyCharmプロジェクトフォルダを確認。
【ローカルPC側】
プロジェクトフォルダ内にPythonファイルが生成されている。
PyCharmのリモート開発は、実際にはこのフォルダにいったんファイルを作成して、それをssh(SFTP?)でPUTしているからくり。
pycharm_remote_17.png

【リモート側】
プロジェクト作成時にRemote project locationで指定したパスに、ファイルが作成されている。
pycharm_remote_18.png