PyCharm 2020.1ヘルプ

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

前提条件

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

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

    To operate with Docker you need the busybox(英語) image be available on your machine. Ensure that you have a stable Internet connection, so that PyCharm can download and run busybox:latest . Once you have successfully configured Docker, you can go offline.

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

    Note that you might want to repeat this tutorial on different platforms; then use Docker installations for macOS(英語) and Linux(英語) (Ubuntu, other distributions-related instructions are available as well).

  • Before you start working with , make sure that the Docker plugin is enabled. The plugin is bundled with PyCharm and is activated by default. If the plugin is not activated, enable it on the プラグイン page of the 設定/環境設定 dialog Ctrl+Alt+S as described in プラグインを管理します

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

Note that you cannot install any Python packages into Docker-based project interpreters.

例の準備

We could have actually repeated the same example as was used for Docker, but for Docker Compose it makes no sense - too simple...

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

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

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

In the Project tool window, right-click the project root and choose 新規 | ファイル Alt+Insert , enter the filename (here Dockerfile ) and enter the following code:

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"]

Next, repeat the same steps for the docker-compose.yml file and enter the following code:

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

Let's look at the docker-compose.yml file. This file defines 2 services: web and db , and links them together.

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を使用している場合は、プロジェクト<プロジェクト名> | プロジェクト・インタープリターを選択します。 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ツールウィンドウを使用する

Since we've configured Docker, the サービス tool window button appears at the bottom of PyCharm's main window. Click this button and see your container running:

Docker window

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

Modify the DATABASES section of the settings.py file in your Django project to add database configuration details:

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

The only thing you should pay attention to, is that Host field must be set to 0.0.0.0 - to make sure that we listen to requests coming from outside the Docker container.

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

Docker compose run

To see output in your web browser, go to http://localhost:8000(英語) (in the address bar, change 0.0.0.0 to localhost):

Django application output

要約

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

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

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

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

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

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

関連ページ:

プラグイン

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

プラグインを管理する

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

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

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

manage.pyのタスクを実行する-ヘルプ| PyCharm

概要:PyCharmを使用すると、IDE内からDjango manage.pyユーティリティを実行できます。このユーティリティの各タスクは、manage.pyコンソールで実行されます。manage.py タスクの実行コマンドは、ローカルおよびリモートインタープリターの両方で使用できます。manage...

パッケージのインストール、アンインストール、およびアップグレード

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