PyCharm 2019.2ヘルプ

Dockerを使ってリモートインタープリターを設定する

導入

PyCharmとDocker(英語)の統合により、Dockerコンテナーにデプロイされたさまざまな構成の開発環境でアプリケーションを実行できます。

前提条件

次の前提条件が満たされていることを確認してください。

  • ページDockerドキュメント(英語)に記載されているように、Dockerがインストールされています。Dockerはさまざまなプラットフォームにインストールできますが、ここではWindows(英語)インストールを使用します。

    異なるプラットフォームでこのチュートリアルを繰り返してください。次に、macOS(英語)およびLinux(英語)のDockerインストールを使用します(Ubuntu、他のディストリビューション関連の指示も利用可能です)。

  • インターネット接続が安定しています。

    Dockerで操作するには、ご使用のマシンでbusybox(英語)イメージが使用可能である必要があります。PyCharmが busybox:latestをダウンロードして実行できるように、安定したインターネット接続があることを確認してください。Dockerを正常に構成したら、オフラインにできます。

  • Dockerでの作業を開始する前に、Docker IntegrationおよびPython Dockerプラグインが有効になっていることを確認してください。プラグインはPyCharmにバンドルされており、デフォルトでアクティブ化されています。プラグインがアクティブ化されていない場合は、プラグインを管理する説明に従って、設定/環境設定ダイアログ(Ctrl+Alt+S)のプラグインページでプラグインを有効にします。

    Windows用のDockerを使用している場合は、Docker設定の一般セクションでTLSなしでtcp://localhost:2375上のデーモンを公開オプションを有効にします。

  • また、Windowsの場合は、Dockerクジラのアイコンを右クリックして、コンテキストメニューから設定を選択し、一般ページでデーモンを公開する...チェックボックスを選択します。

    Docker settings

例の準備

Pythonプロジェクト QuadraticEquationを作成し、Solver.py ファイルを追加して以下のコードを入力してください。

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)

リモートインタープリターとしてのDockerの設定

ここでは例を準備したため、Dockerベースのリモートインタープリターを定義しましょう。

Python(英語)をコンピューターにダウンロードしてインストールしたことを確認してください。

どちらかの方法でPython インタープリターの追加ダイアログを開きます。

  • エディターにいるとき、最も便利な方法はユーザーインターフェースの概要Python インタープリターウィジェットを使うことです: ウィジェットをクリックしてインタープリターの追加 ...を選択

  • 設定/環境設定ダイアログ Ctrl+Alt+Sを使用している場合は、プロジェクト<プロジェクト名> | プロジェクト・インタープリターを選択します。 The Configure project interpreter アイコンをクリックして、追加を選択します。

表示されるダイアログで、Dockerオプションを選択し、ドロップダウンリストからDockerサーバーを選択し(サーバーがない場合は新規...をクリック)、イメージ名を指定します。

Pythonインタープリターのパスはデフォルト値を持つ必要があります:

Choose a docker

その結果、設定ダイアログには次のような表示が表示されます。

Set up an interpreter

OKをクリックして変更を適用し、ダイアログを閉じます。

Dockerコンテナーでアプリケーションを実行する

左のガターで、main 句の横にある Run ボタンをクリックし、実行 'Solver.py'コマンドを選択します。スクリプトがDockerコンテナーで実行されていることがわかります。

Running in a Docker container

表示されるように、実行ツールウィンドウの接頭辞にはコンテナーIDが表示されます。

Dockerコンテナーでのアプリケーションのデバッグ

次に、アプリケーションをデバッグしましょう。そのためには、dを計算する行にブレークポイントを置き、Run をクリックしてデバッグ 'Solver'を選択しましょう。

デバッグツールウィンドウのコンソールタブに表示されているように、デバッガはDockerコンテナーでも実行されます。

Debugging in a Docker container

しかしこのコンテナーは異なるIDを持ち、別の名前を持ちます: ターミナルで見ることができます: docker ps コマンドを入力して、コンテナーのIDと名前を確認してください:

Preview in the Terminal

Dockerツールウィンドウ

しかし、ターミナルなしですべてのコンテナーを見ることは可能ですか? PyCharmは言います - そうです。サービスツールウィンドウのDockerタブをDockerコマンドラインクライアントのUIとして使用できます。

Dockerをリモートインタープリターとして設定している場合は、メインのPyCharmウィンドウの下部にサービスツールウィンドウボタンが表示されます: このボタンをクリックしてdockerコンテナーを見てください:

Docker tool window

このツールウィンドウをさらに注意深く見てみましょう: ここで何を見ますか?

  • まず、Dockerデーモンに接続します。

    The Docker tool window, connected to Docker

  • 次に、Runツールウィンドウを開くと、DockerツールウィンドウのPropertiesタブのDockerプレフィックスがコンテナーIDに対応することがわかります。

    The Properties tab and the Docker tool window

  • 第3に、デバッグツールウィンドウを開くと、Dockerツールウィンドウのプロパティータブにある別のコンテナーIDに対応するDocker接頭辞(もう1つ! )が表示されます。

    The Docker tool window and the Debug tool window

  • 最後に、コンテナーの奇妙な名前が見えます。それらは人間が読める形式であり、Docker自体によって生成されます。

要約

PyCharmの助けを借りて何がなされたのかをまとめましょう。

  • プロジェクトを作成し、Pythonスクリプトを追加しました。

  • リモートインタープリターを設定しました。

  • Dockerコンテナーでスクリプトを実行し、デバッグしました。

  • 最後に、Dockerツールウィンドウを起動し、ターミナルですべての詳細を確認しました。

最終更新日: 2019年11月6日

関連ページ:

プラグインを管理する

プラグインはPyCharmのコア機能を拡張します。バージョン管理システム、アプリケーションサーバー、その他のツールとの統合を提供、さまざまな言語およびフレームワークに対するコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどを使用して、生産性をBoos...

プラグイン

WindowsとLinux用のmacOS用このページを使用してプラグインを管理します。プラグインリポジトリの閲覧、プラグインのインストール、削除、有効化、無効化、および更新を行います。主なコントロール:マーケットプレースこのタブを使用して、JetBrainsプラグインリポジトリからプラグインをブラウ...

ユーザーインターフェースの概要

PyCharmでプロジェクトを開くと、デフォルトのユーザーインターフェースは次のようになります。プラグインのセットと構成設定によっては、IDEの外観と動作が異なる場合があります。エディター:フォーカス:エディターを使用してコードを読み書きします。詳しくは、エディターの基本を参照してください。ナビゲー...

サービスツールウィンドウ

またはサービスツールウィンドウには、ソフトウェア開発中に役立つさまざまなサービスが含まれます。実行/デバッグ構成、アプリケーションサーバー、データベースセッション、Docker接続など。プラグイン開発者はIntelliJプラットフォームAPIを通して他のサービスを追加することができます。メイン・ツー...

SSHを使ってリモートインタープリターを設定する

この機能は、Professionalエディションでのみサポートされています。このエディションは有償であり、優れた機能セットを提供します。詳細については、比較マトリックスを参照してください。前提条件:PyCharmはsshセッションを介してリモートインタープリターを実行するため、sshサーバーはリモー...

Docker Composeを使ってリモートインタープリターを設定する

この機能は、Professionalエディションでのみサポートされています。このエディションは有償であり、優れた機能セットを提供します。詳細については、比較マトリックスを参照してください。前提条件:次の前提条件が満たされていることを確認してください。インターネット接続が安定しています。Dockerで...