PyCharm 2020.3 ヘルプ

Docker を使用してインタープリターを構成する

導入

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

前提条件

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

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

    異なるプラットフォームでこのチュートリアルを繰り返すことをお勧めします。次に、macOS(英語) および Linux(英語) に Docker インストールを使用します(Ubuntu、他のディストリビューション関連の手順も利用できます)。

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

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

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

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

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

    Docker settings

Docker-based プロジェクトインタープリターに Python パッケージをインストールすることはできません。

例の準備

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 を使用している場合は、プロジェクト <プロジェクト名> | Python インタープリターを選択します。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 ツールウィンドウを起動し、ターミナルですべての詳細を確認しました。

関連ページ:

Docker

以下は、Docker 統合と Python Docker プラグインがインストールされて使用可能になっている場合にのみ有効です。Dockerを使用すると、開発者はアプリケーションをコンテナー内にデプロイして、実稼働環境と同じ環境でコードをテストできます。PyCharm は、Dockerプラグインを使...

プラグインを管理する

PyCharm のユーザーインターフェースはデフォルトでは英語です。日本語化する場合は、日本語言語パックのインストールを参照してください。プラグインは以下に示すように PyCharm のコア機能を拡張します。バージョン管理システム、アプリケーションサーバー、およびその他のツールとの統合を提供する、さ...

プラグイン

このページを使用してプラグインを管理します。プラグインリポジトリを参照し、プラグインのインストール、削除、有効化、無効化、更新を行います。主なコントロール :マーケットプレースこのタブを使用して、JetBrains プラグインリポジトリからプラグインをブラウズしてインストールします。カスタムプラグイ...

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

PyCharm でプロジェクトを開くと、デフォルトのユーザーインターフェースは次のようになります。プラグインのセット、PyCharm エディション、および構成設定によっては、IDE の外観と動作が異なる場合があります。エディター :フォーカス:エディターを使用して、ソースコードの読み取り、書き込み、...

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

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

SSH を使用してインタープリターを構成する

前提条件 :PyCharm は ssh-session を介してリモートインタープリターを実行するため、sshサーバーはリモートホスト上で実行する必要があります。ソースをリモートコンピューターにコピーする場合は、リモートサーバー構成を作成する項で説明したように、デプロイ設定を作成します。SSH 資格...