Docker Compose を使用してインタープリターを構成する
Django プラグインを有効にする
この機能は、デフォルトで PyCharm にバンドルされて有効になっている Django プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、
を選択します。インストール済みタブを開き、Django プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
前提条件
次の前提条件が満たされていることを確認してください。
安定したインターネット接続があり、PyCharm が
busybox:latest
(BusyBox Docker 公式イメージ(英語)の最新バージョン) をダウンロードして実行できます。Docker を使用してインタープリターを正常に構成したら、オフラインにすることができます。Docker がインストールされています。Docker はさまざまなプラットフォームにインストールできますが、ここでは macOS(英語) インストールを使用します。
このチュートリアルを異なるプラットフォームで繰り返す必要がある場合は、Windows(英語) および Linux(英語) に Docker インストールを使用してください (Ubuntu、他のディストリビューション関連の手順も利用できます)。
Docker の使用を開始する前に、Docker プラグインが有効になっていることを確認してください。プラグインは PyCharm にバンドルされており、デフォルトで有効になっています。プラグインが有効になっていない場合は、プラグインのインストールの説明に従って、Ctrl+Alt+S 設定のプラグインページでプラグインを有効にしてください。
設定ダイアログ (Ctrl+Alt+S) で、 を選択し、Docker デーモンに接続の <あなたの operating system> のための Docker を選択します。例: macOS にいる場合は、Mac 用 Docker を選択します。詳細については、Docker 設定を参照してください。
Docker ベースのプロジェクトインタープリターに Python パッケージをインストールできないことに注意してください。
例を準備する
別のコンテナーで実行されている PostgreSQL データベースで Django アプリケーションを使用してみましょう。
ウェルカム画面で、VCS から取得をクリックします。
バージョン管理から取得ダイアログで、リモートリポジトリ(英語)の URL を指定し、クローンをクリックします。
PyCharm は、
ファイルに記録されたプロジェクト要件に基づいて仮想環境を作成することを提案します。OK をクリックして環境を作成します。
IDE が提供するもう 1 つのヒントは、データソースの検出です。データベースに接続をクリックしてデータベースを設定します。
不足しているドライバーをダウンロードし、残りの構成オプションを確認する必要がある場合があります。
これが完了すると、例の準備が整い、docker containers の構成を開始できます。
この Django アプリケーションでは、データベース用とアプリケーション自体用の 2 つのコンテナーを作成しましょう。Docker Compose は 2 つのコンテナーをリンクします。
Docker と Docker Compose のファイルを追加
プロジェクトツールウィンドウで、プロジェクトルートを右クリックし、コンテキストメニューから を選択します。ファイル名を入力します: Dockerfile。
次のコードをコピーして 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 ファイルを作成します。
を選択して、次のコードをコピーして 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このファイルは、
web
とdb
の 2 つのサービスを定義し、リンクします。
Docker の設定
例の準備ができたため、Docker を設定しましょう。
Ctrl+Alt+S を押して設定を開き、
を選択します。をクリックして、Docker サーバーを作成します。推奨されるデフォルト値を受け入れます。
Docker をカスタムの場所にインストールした場合は、Docker CLI 実行可能ファイルへのパスを指定する必要がある場合があります。
変更を保存するには、OK をクリックします。
Docker Compose をリモートインタープリターとして設定する
ここで、Docker Compose に基づいてリモートインタープリターを定義しましょう。
以下のいずれか 1 つを実行します:
Python インタープリターセレクターをクリックして、新しいインタープリターを追加を選択します。
Ctrl+Alt+S を押して設定を開き、 に移動します。利用可能なインタープリターのリストの横にあるインタープリターの追加リンクをクリックします。
Python インタープリターセレクターをクリックしてインタープリターの設定を選択します。利用可能なインタープリターのリストの横にあるインタープリターの追加リンクをクリックします。
Docker Compose についてを選択します。
サーバードロップダウンで Docker 構成を選択します。
構成ファイルで docker-compose.yml ファイルを指定し、サービスを選択します。
必要に応じて、環境変数(英語)を指定してプロジェクト名を作成する(英語)を編集します。
PyCharm が新しいターゲットを作成して構成するまで待ちます。
コンテナーで使用するインタープリターを選択します。コンテナー内にすでに設定されている任意の virtualenv または conda 環境を選択するか、システムインタープリターを選択できます。
OK をクリックします。
構成されたリモートインタープリターがリストに追加されます。
Docker ツールウィンドウを使用する
Docker を構成すると、PyCharm のメインウィンドウの下部にサービスツールウィンドウが表示されます。services
グループの横にあるガターで docker-compose up をクリックすると、db
および web
サービスを起動できます。
サービスツールウィンドウで docker containers を管理する方法の詳細については、Docker を参照してください。
データベース資格情報を構成する
Django プロジェクトの settings.py ファイルの DATABASES
セクションを変更して、データベース構成の詳細を追加します。
アプリケーションの実行
メインメニューから
を選択し、migrate
と入力して移行を実行し、Django アプリケーションを実行します。Django サーバーの実行 / デバッグ構成を作成します。これを行うには、メインメニューから
を選択します。実行 / デバッグ構成ダイアログで、 新規構成の追加をクリックし、Django サーバーを選択します。
ホストフィールドを 0.0.0.0 に設定して、Docker コンテナーが外部要求に対して開かれていることを確認します。このアドレスでサーバーを起動できるようにするには、settings.py の
ALLOWED_HOSTS
リストに0.0.0.0
を追加します。新しく作成した構成を実行するには、メインメニューから
を選択します。
Web ブラウザーで出力を確認するには、http://localhost:8000 にアクセスしてください。
アプリケーションをデバッグする
実行 / デバッグ構成を作成すると、アプリケーションをデバッグすることもできます。
ブレークポイントを設定します (Django アプリケーションの場合は、テンプレートで設定できます)。
以下のいずれか 1 つを実行します:
メインメニューから
を選択します。RunDjangoApp
構成を選択した状態で、実行 / デバッグ構成ドロップダウンの横にある デバッグをクリックします。
コンテナー内のアプリケーションのデバッグの詳細については、Docker コンテナーでデバッグするを参照してください。
関連ページ:
プラグインのインストール
プラグインは PyCharm のコア機能を拡張します。例: プラグインをインストールして、次の機能を取得します。バージョン管理システム、課題追跡システム、ビルド管理サーバー、その他のツールとの統合。さまざまな言語とフレームワークのコーディング支援サポート。ショートカットのヒント、ライブプレビュー、ファイルウォッチャーなど。新しいプログラミング言語を学ぶのに役立つコーディング演習。プラグイン設定を開くを押して設定を開き、を選択します。マーケットプレースタブを使用して、JetBrains マーケット...
Docker 接続設定
PyCharm から Docker エンジン API にアクセスするための設定を指定します。Docker と PyCharm の統合の使用方法の詳細については、「Docker」を参照してください。Docker プラグインを有効にするこの機能は、デフォルトで PyCharm にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、Doc...
Docker ツール設定
PyCharm が Docker デーモンと対話するために使用する Docker CLI 実行可能ファイルへのパスを指定します。Docker プラグインを有効にするこの機能は、デフォルトで PyCharm にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、Docker プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択...
Python インタープリターを構成する
PyCharm の Python インタープリター:PyCharm で Python コードを使用するには、少なくとも 1 つの Python インタープリターを構成する必要があります。Python インストールで使用可能なシステムインタープリターを使用できます。また、Virtualenv、pipenv、Poetry、または conda 仮想環境を作成することもできます。仮想環境は、基本インタープリターとインストールされたパッケージで構成されます。PyCharm Professional では、SS...
Docker
Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。PyCharm は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker コンテナーにデプロイされたさまざま...
実行 / デバッグ構成: Django テスト
Django プラグインを有効にするこの機能は、デフォルトで PyCharm にバンドルされて有効になっている Django プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、Django プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。このダイアログを使用して、Django テストの実行 / デバッグ構成を作成します。構成タブ:ターゲット実行す...