PyCharm 2021.1 ヘルプ

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

前提条件

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

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

    PyCharm が busybox:latest をダウンロードして実行できるように、安定したインターネット接続があることを確認してください。Docker を正常に構成したら、オフラインにすることができます。

  • Docker がインストールされています。Docker はさまざまなプラットフォームにインストールできますが、ここでは Windows(英語) のインストールを使用します。

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

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

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

Python パッケージを Docker ベースのプロジェクトインタープリターにインストールすることはできないことに注意してください。

例の準備

Docker で使用したのと同じ例を実際に繰り返すこともできましたが、Docker Compose ではシンプルすぎて意味がありません...

Docker Compose アプリケーションの現実的な例を示すために、別のコンテナーで実行されている PostgreSQL データベースと共に Django アプリケーションを使用します。GitHub からプロジェクトを入手してください(英語)、PyCharm(ファイル | 開く)で開きます。

この Django アプリケーションでは、データベース用とアプリケーション用の 2 つのコンテナーを作成する必要があります。Docker Compose を使用して、2 つのコンテナーをリンクします。

Docker および Docker Compose 用のファイルを追加する

プロジェクトツールウィンドウで、プロジェクトルートを右クリックして新規 | ファイル Alt+Insert を選択し、ファイル名(ここでは Dockerfile)を入力して、次のコードを入力します。

FROM python:3.6.7 WORKDIR /app # By copying over requirements first, we make sure that Docker will cache # our installed requirements rather than reinstall them on every build COPY requirements.txt /app/requirements.txt RUN pip install -r requirements.txt # Now copy in our code, and run it COPY . /app EXPOSE 8000 CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

次に、docker-compose.yml ファイルに対して同じ手順を繰り返して、次のコードを入力します。

version: '2' services: web: build: . ports: - "8000:8000" volumes: - .:/app links: - db db: image: "postgres:9.6" ports: - "5432:5432" environment: POSTGRES_PASSWORD: hunter2

docker-compose.yml ファイルを見てみましょう。このファイルは、webdb の 2 つのサービスを定義し、リンクします。

Docker の設定

例を準備したため、Docker を構成しましょう。

これを行うには、設定ダイアログを開き(Ctrl+Alt+S またはメインツールバーの Settings をクリック)、ビルド、実行、デプロイノードの Docker ページをクリックします。Add a docker server をクリックして、Docker サーバーを作成します。

推奨されるデフォルト値を受け入れます。

Docker settings

macOS の場合、Mac 用 Docker を選択して Docker デーモンに接続します。

Docker settings

次に、変更を適用します。

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

Docker-Compose に基づいてリモートインタープリターを定義しましょう。

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

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

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

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

表示されるダイアログで、Docker Compose オプションを選択し、ドロップダウンリストから Docker サーバー、Docker Compose サービス(ここでは web )、設定ファイル(ここでは docker-compose.yml )、およびイメージ名(ここでは python )を選択します。

web を選んだのはなぜですか? この選択は、Docker-Compose ベースのインタープリターを構成した後、選択したコンテナーの動作を変更する通常の実行構成を作成できるようになるという事実によって説明されます。コンテナー内のコードをデバッグする場合は、ここで選択する必要があります。作成ファイル内の他のすべてのコンテナーは、常にこのファイルとともに起動されますが、PyCharm からの動作に影響を与えることはできません。コマンドラインからコマンド docker-compose up を起動した場合と同じように動作します。

次に、PyCharm があなたの Docker-Compose 設定を開始してスキャンしてインデックスを作成するのを待ちます:

Configure remote Python interpreter

Docker ツールウィンドウを使用する

Docker を構成したため、サービスツールウィンドウボタンが PyCharm のメインウィンドウの下部に表示されます。このボタンをクリックして、コンテナーが実行されていることを確認します。

Docker window

データベース資格情報の構成

Django プロジェクトの settings.py ファイルの DATABASES セクションを変更して、データベース構成の詳細を追加します。

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', 'PASSWORD': 'hunter2', 'HOST': 'db' } }

Docker-Compose でアプリケーションを実行する

まず、Django アプリケーションを実行しているときに、移行を実行する必要があります。

これを行うには、ツール | 「manage.py」タスクを実行するを選択し、migrate と入力します。

manage.py task is running in the Docker

(詳細は manage.py のタスクを実行するを参照してください)。

次に、通常の Django サーバーの実行 / デバッグ構成を作成します。そのためには、メインメニューから実行 | 実行構成の編集... を選択してください。開いたダイアログで Add Run/Debug configuration for a Django Server をクリックして Django サーバーを選択します。

Run/Debug configuration for a Django server

注意すべき唯一のことは、そのホストですフィールドを 0.0.0.0 に設定する必要があります。これは、Docker コンテナーの外部からのリクエストを確実にリッスンするためです。

この構成(実行 | 実行 'RunDjangoApp')を起動します。

Docker compose run

Web ブラウザーで出力を確認するには、http://localhost:8000(英語)(アドレスバーの 0.0.0.0localhost に変更)に移動します。

Django application output

要約

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

  • GitHub から Django アプリケーションをダウンロードして開きました。

  • 特定の Docker Compose ファイルをプロジェクトに追加しました。

  • Docker Compose をベースにしたリモートインタープリターを構成しました。

  • Django アプリケーションを Docker Compose コンテナーで実行しました。

関連ページ:

プラグインを管理する | PyCharm

プラグインは以下に示すように PyCharm のコア機能を拡張します。バージョン管理システム、アプリケーションサーバー、およびその他のツールとの統合を提供する、さまざまな言語とフレームワークのコーディング支援サポートを追加する、ショートカットヒント、ライブプレビュー、ファイルウォッチャーなどで生産性を向上、コーディング演習と検証で新しいプログラミング言語を学ぶのに役立ちます、プラグイン設定を開く設定 / 環境設定ダイアログで、プラグインを選択します。マーケットプレースタブを使用して、JetBr...

プラグイン | PyCharm

このページを使用してプラグインを管理します。プラグインリポジトリを参照し、プラグインのインストール、削除、有効化、無効化、更新を行います。主なコントロール:マーケットプレースこのタブを使用して、JetBrains プラグインリポジトリからプラグインをブラウズしてインストールします。カスタムプラグインリポジトリを参照する場合は、に続けてリポジトリの URL を入力します。例:repository:"http://plugins.example.com:8080/" myPlu...

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

導入:PyCharm と Docker の統合により、Docker コンテナーにデプロイされたさまざまな構成の開発環境でアプリケーションを実行できます。前提条件:次の前提条件が満たされていることを確認してください。ページ Docker ドキュメントに記載されているように、Docker がインストールされています。Docker はさまざまなプラットフォームにインストールできますが、ここでは Windows インストールを使用します。異なるプラットフォームでこのチュートリアルを繰り返すことをお勧めします。...

manage.py のタスクを実行する | PyCharm

概要:PyCharm を使用すると、IDE 内から Django manage.py ユーティリティを実行できます。このユーティリティの各タスクは、manage.py コンソールで実行されます。manage.py タスクの実行コマンドは、ローカルおよびリモートインタープリターの両方で使用できます。manage.py ユーティリティの設定:manage.py ユーティリティの構成は、設定 / 環境設定ダイアログの Django ページで行われることに注意することが重要です。manage.py ユーティリ...

パッケージのインストール、アンインストール、アップグレード | PyCharm

PyCharm は、特定の Python インタープリターの Python パッケージをインストール、アンインストール、アップグレードする方法を提供します。デフォルトでは、PyCharm は pip を使用してプロジェクトパッケージを管理します。Conda 環境では、conda パッケージマネージャーを使用できます。PyCharm では、Python パッケージツールウィンドウおよび Python インタープリター設定 / 環境設定でパッケージをプレビューおよび管理できます。Python パッケ...