

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Elastic Beanstalk 用の Python 開発環境の設定
<a name="python-development-environment"></a>

このトピックでは、Python 開発環境を設定し、アプリケーションを AWS Elastic Beanstalkにデプロイする前にローカルでテストする手順について説明します。また、便利なツールのインストール手順を提供するウェブサイトも参照します。

このガイドの手順に従うには、run commands のためのコマンドラインターミナルまたはシェルが必要になります。コマンドは、該当する場合、プロンプト記号 (\$1) と現在のディレクトリの名前が前に付けられて、リストに示されます。

```
~/eb-project$ this is a command
this is output
```

Linux および macOS では、任意のシェルとパッケージ管理者を使用できます。Windows では、[Linux 用の Windows サブシステムをインストール](https://docs.microsoft.com/en-us/windows/wsl/install-win10)して、Ubuntu および Bash の Windows に統合されたバージョンを入手できます。

**Topics**
+ [前提条件](#python-common-prereq)
+ [仮想環境の使用](#python-common-setup-venv)
+ [Elastic Beanstalk 用の Python プロジェクトの設定](#python-common-configuring)

## 前提条件
<a name="python-common-prereq"></a>

次のリストは、Elastic Beanstalk と Python アプリケーションを使用するための一般的な前提条件を示しています。
+ **Python 言語** – 選択した Elastic Beanstalk Python プラットフォームバージョンに含まれている Python 言語のバージョンをインストールします。サポートされている Python 言語バージョンのリストについては、「AWS Elastic Beanstalk プラットフォームガイド」の「[サポートされている Python プラットフォーム](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.python)」を参照してください。開発マシンに Python がまだ設定されていない場合は、Python ウェブサイトの「[Python ダウンロード](https://www.python.org/downloads/)」ページを参照してください。
+ **`pip` ユーティリティ** – `pip` ユーティリティは Python のパッケージインストーラです。アプリケーション環境の設定方法を Elastic Beanstalk が判断できるように、プロジェクトの依存関係をインストールし一覧表示します。`pip` の詳細については、pip.pypa.io ウェブサイトの [pip ページ](https://pip.pypa.io/en/stable/)を参照してください。
+ **(オプション) Elastic Beanstalk コマンドラインインターフェイス (EB CLI)** – [EB CLI](eb-cli3.md) は、必要なデプロイファイルを使用してアプリケーションをパッケージ化できます。また、Elastic Beanstalk 環境を作成して、そこにアプリケーションをデプロイすることもできます。Elastic Beanstalk コンソールからもデプロイできます。そのため、EB CLI が必ず必要というわけではありません。
+ **作業用 `SSH` のインストール** – SSH プロトコルを使用して実行中のインスタンスに接続し、デプロイを検査またはデバッグできます。
+ **`virtualenv` パッケージ** – この `virtualenv` ツールは、アプリケーションの開発およびテスト環境を作成します。Elastic Beanstalk は、アプリケーションで不要な追加のパッケージをインストールすることなく、この環境をレプリケートできます。詳細については、[virtualenv](https://virtualenv.pypa.io/en/latest/) のウェブサイトを参照してください。Python をインストールしたら、次のコマンドを使用して `virtualenv` パッケージをインストールできます。

  ```
  $ pip install virtualenv
  ```

## 仮想環境の使用
<a name="python-common-setup-venv"></a>

前提条件をインストールしたら、`virtualenv` を使用して仮想環境をセットアップし、アプリケーションの依存関係をインストールします。仮想環境を使用することで、アプリケーションで必要なパッケージを正確に識別し、アプリケーションを実行する EC2 インスタンスにそれらの必要なパッケージをインストールすることができます。

**仮想環境をセットアップするには**

1. コマンドライン・ウィンドウを開き、次のように入力します。

   ```
   $ virtualenv /tmp/eb_python_app
   ```

   *eb\$1python\$1app* を、アプリケーションに対応するわかりやすい名前に置き換えます (アプリケーション名を使用することをお勧めします)。`virtualenv` コマンドによって指定したディレクトリに仮想環境が作成され、アクションの結果が出力されます。

   ```
   Running virtualenv with interpreter /usr/bin/python
   New python executable in /tmp/eb_python_app/bin/python3.12
   Also creating executable in /tmp/eb_python_app/bin/python
   Installing setuptools, pip...done.
   ```

1. 仮想環境の準備が整ったら、環境の `activate` ディレクトリにある `bin` スクリプトを実行してスタートします。たとえば、前のステップで作成した **eb\$1python\$1app** 環境をスタートするには、次のように入力します。

   ```
   $ source /tmp/eb_python_app/bin/activate
   ```

   コマンドプロンプトの冒頭には毎回、仮想環境の名前（例: `(eb_python_app)`）が出力され、仮想 Python 環境を使用していることがわかるようになっています。

1. 仮想環境の使用を停止し、インストールされているすべてのライブラリを含むシステムのデフォルトの Python インタプリタに戻るには、`deactivate` コマンドを実行します。

   ```
   (eb_python_app) $ deactivate
   ```

**注記**  
仮想環境の作成後は、`activate` スクリプトを再び実行することで、いつでも再起動できます。

## Elastic Beanstalk 用の Python プロジェクトの設定
<a name="python-common-configuring"></a>

Elastic Beanstalk CLI を使用して、Elastic Beanstalk でのデプロイ用に Python アプリケーションを準備します。

**Elastic Beanstalk でのデプロイ用に Python アプリケーションを設定するには**

1. [仮想環境](#python-common-setup-venv)で、プロジェクトのディレクトリツリーの最上位 (`python_eb_app`) に戻り、次のように入力します。

   ```
   pip freeze >requirements.txt
   ```

   このコマンドは、仮想環境にインストールされているパッケージの名前とバージョンを `requirements.txt` にコピーします。たとえば、*PyYAML* パッケージ、バージョン *3.11* が仮想環境にインストールされている場合、このファイルには次の行が含まれます。

   ```
   PyYAML==3.11
   ```

   これにより、Elastic Beanstalk は、アプリケーションの開発とテストに使用されたのと同じパッケージとバージョンを使用して、アプリケーションの Python 環境をレプリケートすることができます。

1. **eb init** コマンドで EB CLI リポジトリを設定します。画面の指示に従ってリージョン、プラットフォーム、その他のオプションを選択します。

デフォルトでは、Elastic Beanstalk は、アプリケーションを開始するために `application.py` というファイルを探します。作成した Python プロジェクトにこのファイルが存在しない場合は、アプリケーション環境の調整が必要になります。また、アプリケーションのモジュールをロードできるように、環境変数を設定する必要があります。詳細については「[Elastic Beanstalk Python プラットフォームを使用する](create-deploy-python-container.md)」を参照してください。