PyCharm 2026.3 Help

リモート PyCharm によるデバッグ

PyCharm を使用すると、Web サーバーや専用のテストマシンなど、他のコンピューターにあるインタープリターを使ってアプリケーションをデバッグできます。

PyCharm ではリモートデバッグの方法が2つあります:

  • リモートインタープリターを経由します。

    大 / 小文字: リモートマシンで利用可能な拡張デバッグ機能を利用するためにこのアプローチを使います。

    要件: ローカルマシンからリモートサーバーへの SSH アクセス。

  • Python リモートデバッグサーバー設定を使用します。

    大 / 小文字: このアプローチを使用して、デバッグプロセスをリモートサーバー上の一連の実行プロセスに統合します。 これは、デバッグのためにアプリケーションを明示的に実行できない場合、またはいくつかの準備が必要な場合に役立つ場合があります。

    要件: ローカルマシンからリモートサーバーへの SSH アクセス、リモートサーバーからローカルマシンへの事前定義ポートを使用したアクセス。

始める前

次の準備作業を完了する

  1. ローカルマシン上で、セクション Python プロジェクトを作成する に従って、純粋な Python プロジェクトを作成します。

  2. このプロジェクトに Python ファイルを追加します(Alt+Insert - Python ファイル)。

  3. 次のコードを Python ファイル に追加します。

    import math class Solver: def demo(self, a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': solver = Solver() while True: a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = solver.demo(a, b, c) print(result)

リモートインタープリター用のデプロイ構成の作成

この例では、アプリケーションを実行するマシンは local として参照され、リモートインタープリターを持つマシンは remote として参照されます。

リモートインタープリターを設定する

  1. リモートマシンへの SSH アクセスがあることを確認してください。

  2. SSH を使用してインタープリターを構成する で説明されているとおり、プロジェクトに新しいリモートインタープリターを追加し、リモートマシンに接続するための資格情報を指定します。

  3. プロジェクト用のリモートインタープリターを作成すると、対応するデプロイ構成が作成されます。 プレビューするには、 Ctrl+Alt+S を押してローカルマシンで 設定 ダイアログウィンドウを開き、 ビルド、実行、デプロイ | デプロイ に移動します。

    デプロイ構成
  4. すべてのデフォルト設定を受け入れるか、必要に応じて変更することができます。 この例では、デプロイ構成の名前として MySFTPConnection を使用します。

  5. ルートパス 値が、作成された SSH インタープリターの対応する設定で指定されたパスを反映していることを確認してください。

    Ctrl+Alt+S を押して設定を開き、 Python | すべてのインタープリター に移動します。 作成した SSH インタープリターを選択し、 インタープリターパスの表示 (インタープリターパスの表示) をクリックします。 選択したインタープリターの既存のパスが インタープリターのパス ダイアログに表示されます。

これでデプロイの設定が完了しました。

アプリケーションをリモートホストにデプロイする

次に、アプリケーションをリモートホストにデプロイする必要があります。

  1. ツール メニューで デプロイ | MySFTPConnection にアップロードする を選択します。

  2. ファイル転送 ツールウィンドウが表示されます。 転送されたファイルの数を確認します。

    ファイル転送ウィンドウ

アプリケーションをデバッグする

  1. エディターの背景を右クリックし、 デバッグ <ファイル名> (ここでは デバッグ 'quadratic_equation') を選択します。

  2. デバッグ出力を確認します。

    リモートサーバーでのデバッグ

Python リモートデバッグサーバー構成によるリモートデバッグ

専用の実行/デバッグ構成を使用して、リモートデバッグを有効にすることもできます: Python デバッグサーバー。

実行 / デバッグ構成を作成する

  1. 実行 | 実行構成の編集 ... に移動します。 実行 / デバッグ構成ダイアログ が開きます。 ツールバーの Add configuration をクリックし、利用可能な構成の一覧から Python デバッグサーバー を選択します。

    Python リモートデバッグ構成を追加する
  2. この実行/デバッグ構成の名前を入力してください。例: MyRemoteServer IDE が実行されているマシンの ポート 番号(ここでは 12345 )と IDE ホスト名​ (ここでは 192.168.106.73 )を指定してください。 これらのパラメーターは、リモートデバッグサーバーがアクセスするために使用されます。

  3. パスマッピング フィールドで をクリックします。 ローカルマシン上のパスをリモートマシン上のパスにマップします。

    パスマッピング
  4. スクリプトの更新 命令をインスペクションします。 PyCharm インストール( <%instance% directory>/debug-eggs/pydevd-pycharm.egg )から pydevd-pycharm.egg を使うか、pip を使って pydevd-pycharm パッケージをインストールできます。

    選択に応じて、次の変更を実行します。

    • 次のコマンドを実行して、リモートマシンに pydevd-pycharm パッケージをインストールします。

      pip install pydevd-pycharm~=<version of PyCharm on the local machine>

      たとえば、 pip install pydevd-pycharm~=242.20224.428)

    • 次のようにソースコードファイルを変更します。

    import math #==============this code added==================================================================: import pydevd_pycharm pydevd_pycharm.settrace('192.168.106.73', port=12345, stdout_to_server=True, stderr_to_server=True) #================================================================================================ class Solver: def demo(self, a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': solver = Solver() while True: a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = solver.demo(a, b, c) print(result)

    次のようにコードを変更します。

    import math #==============this code added==================================================================: import sys sys.path.append("<PyCharm directory>/debug-eggs/pydevd-pycharm.egg") import pydevd_pycharm pydevd_pycharm.settrace('172.20.208.95', port=12345, stdout_to_server=True, stderr_to_server=True) #================================================================================================ class Solver: def demo(self, a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': solver = Solver() while True: a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = solver.demo(a, b, c) print(result)

SFTP 接続を作成する

  1. リモートマシンで、ファイル quadratic_equation.py をアップロードするディレクトリを作成します。 ターミナルウィンドウでそれを行うことができます:

    $cd /tmp $mkdir pycharm_project_986
  2. ローカルマシンで、接続プロファイルを作成します。 ツール | デプロイ | 構成 ... に移動し、開いたダイアログで サーバーを追加 をクリックし、 サーバーの追加 ダイアログで接続タイプ (ここでは SFTP) を選択して、その名前 (ここでは MySFTPConnection) を入力します。

  3. 接続 タブで、そのマシンの SFTP ホスト(リモートマシンのアドレス)、ユーザー名、パスワードを指定します。

    指定したユーザーは、リモートホストへの SSH アクセス権を持っている必要があります。

  4. マッピング タブをクリックし、サーバーのデプロイパスを入力します。 参照ボタンをクリックして、必要なフォルダー /tmp/pycharm_project_986 を選択します。 参照ボタンにはリモートホストの内容が表示されることに注意してください。 変更を適用して、ダイアログを閉じます。

リモートマシンにファイルをデプロイする

  1. 次のファイルをリモートマシンにデプロイします: pydevd-pycharm.egg と quadratic_equation.py 。

    ローカルマシンの プロジェクトツールウィンドウ でファイルを選択し、選択した場所を右クリックして デプロイ | MySFTPConnection にアップロードする を選択します。

  2. ファイル転送 ダイアログウィンドウを調べて、ローカルマシンからのファイルがリモートサーバーにアップロードされていることを確認します。

    ファイル転送ウィンドウ

デバッグサーバーを起動する

  1. 作成した実行 / デバッグ構成を選択し、 デバッグ をクリックします。

    デバッグ構成を実行する
  2. デバッグウィンドウに プロセス接続を待機しています ... メッセージが表示されていることを確認します。 このメッセージは、リモートマシンでスクリプトを起動するまで表示され、このスクリプトはデバッグサーバーに接続します。

Python ファイルをリモートマシンで実行する

  1. リモートマシンで、 tmp/pycharm_project_986 ディレクトリに移動します。

  2. リモートホストで quadratic_equation.py ファイルを起動します。 これを行うには、「ターミナル」ウィンドウで次のコマンドを入力します。

    $python3 quadratic_equation.py
    $python quadratic_equation.py

    このデバッグ方法の最も有用な点は、リモートデバッグがスケジュールされたタスクの一部であるとき、または Python スクリプトを実行する前にいくつかの準備ステップを実行する必要があるときに、 bash スクリプトのいずれかを使用して Python ファイルを実行できることです。 その場合、bash スクリプトの適切な場所に次の行を追加します。

    cd /tmp/pycharm_project_986 python3 quadratic_equation.py
    cd /tmp/pycharm_project_986 python quadratic_equation.py

アプリケーションをデバッグする

  • ローカルマシンで、 デバッグウィンドウに切り替えます。 pydev デバッガーへの接続が表示されます。

    コードは実際にはリモートホスト上で実行されますが、ローカルマシン上でデバッグされます。

Python デバッグサーバーでローカルプロセスをデバッグする

PyCharm が実行されているマシンで Python デバッグサーバー 構成を使用することもできます。 これは、PyCharm の実行/デバッグ構成からプログラムを起動できない場合に便利です。例:

  • シェルスクリプトが Python インタープリターを起動します。

  • プログラムは、 デバッグ中に自動的にサブプロセスに接続する オプションが Python デバッガー 設定ページで選択されていても、デバッガーが自動的にアタッチしないプロセスを開始します。

コードは同じマシンで実行されるため、デプロイ構成やパスマッピングは必要ありません。

ローカルプロセスをデバッグする

  1. 実行 / デバッグ構成を作成する で説明されているように、 Python デバッグサーバー 実行/デバッグ構成を作成します。 デフォルトの IDE ホスト名​ 値 localhost をそのまま使用し、 ポート 番号を指定して、 パスマッピング は空のままにします。

  2. pydevd-pycharm パッケージを、プログラムを実行するインタープリターにインストールします。 PyCharm ビルドに一致するバージョンを使用します: 構成の スクリプトの更新 手順にある pip install pydevd-pycharm~=<build number> コマンドを実行します。 または、PyCharm インストールの pydevd-pycharm.egg を Python パスに追加します。

  3. 構成の スクリプトの更新 手順にあるコードをプログラムに追加します。例:

    import pydevd_pycharm pydevd_pycharm.settrace('localhost', port=12345, stdout_to_server=True, stderr_to_server=True)

    プログラムが他の Python プロセスを開始する場合は、それらのプロセスで実行されるコードにこのコードを追加します。

  4. 構成をデバッグモードで起動します。 デバッグウィンドウ に プロセス接続を待機しています ... メッセージが表示されます。

  5. 通常の方法で、たとえばシェルスクリプトを実行してプログラムを開始します。 プログラムが settrace() 呼び出しを実行すると、PyCharm に接続され、 デバッグ ツールウィンドウでデバッグできます。

すでに実行中のローカル Python プロセスを、コードを変更せずにデバッグするには、 プロセスに接続 を使用します。

要約

リモートインタープリターでデバッグするには、PyCharm を介してプログラムを開始する必要がありますが、これは常に可能とは限りません。 一方、デバッグサーバーを使用する場合、実行中のプロセスに接続できます。

2 つのアプローチを比較してください。

最初のケース

後者の場合

2026 年 10 月 30 日