PyCharm 2020.1ヘルプ

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

例の準備

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ツールウィンドウを起動し、ターミナルですべての詳細を確認しました。

最終更新日: 2020年7月2日

関連ページ:

Docker

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

プラグインを管理する

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

プラグイン

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

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

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

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

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

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

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