翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Elastic Beanstalk 用の Python 開発環境の設定
このトピックでは、Python 開発環境を設定し、アプリケーションを AWS Elastic Beanstalk にデプロイする前にローカルでテストする手順について説明します。また、便利なツールのインストール手順を提供するウェブサイトも参照します。
すべての言語に適用される一般的な設定ステップやツールについては、「Elastic Beanstalk で使用する開発マシンの設定」を参照してください。
このガイドの手順に従うには、run command のためのコマンドラインターミナルまたはシェルが必要になります。コマンドは、該当する場合、プロンプト記号 ($) と現在のディレクトリの名前が前に付けられて、リストに示されます。
~/eb-project$ this is a command
this is output
Linux および macOS では、任意のシェルとパッケージ管理者を使用できます。Windows では、Linux 用の Windows サブシステムをインストール
すべての言語に適用される一般的な設定ステップやツールについては、Elastic Beanstalk で使用する開発マシンの設定を参照してください。
前提条件
次のリストは、Elastic Beanstalk と Python アプリケーションを使用するための一般的な前提条件を示しています。
-
Python 言語 – 選択した Elastic Beanstalk Python プラットフォームバージョンに含まれている Python 言語のバージョンをインストールします。サポートされている Python 言語バージョンのリストについては、「AWS Elastic Beanstalk プラットフォームガイド」の「サポートされている Python プラットフォーム」を参照してください。開発マシンに Python がまだ設定されていない場合は、Python ウェブサイトの「Python ダウンロード
」ページを参照してください。 -
pip
ユーティリティ –pip
ユーティリティは Python のパッケージインストーラです。アプリケーション環境の設定方法を Elastic Beanstalk が判断できるように、プロジェクトの依存関係をインストールし一覧表示します。pip
の詳細については、pip.pypa.io ウェブサイトの pip ページを参照してください。 -
(オプション) Elastic Beanstalk コマンドラインインターフェイス (EB CLI) – EB CLI は、必要なデプロイファイルを使用してアプリケーションをパッケージ化できます。また、Elastic Beanstalk 環境を作成して、そこにアプリケーションをデプロイすることもできます。Elastic Beanstalk コンソールからもデプロイできます。そのため、EB CLI が必ず必要というわけではありません。
-
作業用
SSH
のインストール – SSH プロトコルを使用して実行中のインスタンスに接続し、デプロイを検査またはデバッグできます。 -
virtualenv
パッケージ – このvirtualenv
ツールは、アプリケーションの開発およびテスト環境を作成します。Elastic Beanstalk は、アプリケーションで不要な追加のパッケージをインストールすることなく、この環境をレプリケートできます。詳細については、virtualenvのウェブサイトを参照してください。Python をインストールしたら、次のコマンドを使用して virtualenv
パッケージをインストールできます。$
pip install virtualenv
仮想環境の使用
前提条件をインストールしたら、virtualenv
を使用して仮想環境をセットアップし、アプリケーションの依存関係をインストールします。仮想環境を使用することで、アプリケーションで必要なパッケージを正確に識別し、アプリケーションを実行する EC2 インスタンスにそれらの必要なパッケージをインストールすることができます。
仮想環境をセットアップするには
-
コマンドライン・ウィンドウを開き、次のように入力します。
$
virtualenv /tmp/
eb_python_app
eb_python_app
を、アプリケーションに対応するわかりやすい名前に置き換えます (アプリケーション名を使用することをお勧めします)。virtualenv
コマンドによって指定したディレクトリに仮想環境が作成され、アクションの結果が出力されます。Running virtualenv with interpreter /usr/bin/python New python executable in /tmp/eb_python_app/bin/python3.7 Also creating executable in /tmp/eb_python_app/bin/python Installing setuptools, pip...done.
-
仮想環境の準備が整ったら、環境の
activate
ディレクトリにあるbin
スクリプトを実行してスタートします。たとえば、前のステップで作成した eb_python_app 環境をスタートするには、次のように入力します。$
source /tmp/eb_python_app/bin/activate
コマンドプロンプトの冒頭には毎回、仮想環境の名前(例:
(eb_python_app)
)が出力され、仮想 Python 環境を使用していることがわかるようになっています。 -
仮想環境の使用を停止し、インストールされているすべてのライブラリを含むシステムのデフォルトの Python インタプリタに戻るには、
deactivate
コマンドを実行します。(eb_python_app) $
deactivate
注記
仮想環境の作成後は、activate
スクリプトを再び実行することで、いつでも再起動できます。
Elastic Beanstalk 用の Python プロジェクトの設定
Elastic Beanstalk CLI を使用して、Elastic Beanstalk でのデプロイ用に Python アプリケーションを準備します。
Elastic Beanstalk でのデプロイ用に Python アプリケーションを設定するには
-
仮想環境で、プロジェクトのディレクトリツリーの最上位 (
python_eb_app
) に戻り、次のように入力します。pip freeze >requirements.txt
このコマンドは、仮想環境にインストールされているパッケージの名前とバージョンを
requirements.txt
にコピーします。たとえば、PyYAML パッケージ、バージョン 3.11 が仮想環境にインストールされている場合、このファイルには次の行が含まれます。PyYAML==3.11
これにより、Elastic Beanstalk は、アプリケーションの開発とテストに使用されたのと同じパッケージとバージョンを使用して、アプリケーションの Python 環境をレプリケートすることができます。
-
eb init コマンドで EB CLI リポジトリを設定します。画面の指示に従ってリージョン、プラットフォーム、その他のオプションを選択します。詳細な手順については、「EB CLI を使用した Elastic Beanstalk 環境の管理」を参照してください。
デフォルトでは、Elastic Beanstalk は、アプリケーションを開始するために application.py
というファイルを探します。作成した Python プロジェクトにこのファイルが存在しない場合は、アプリケーション環境の調整が必要になります。また、アプリケーションのモジュールをロードできるように、環境変数を設定する必要があります。詳細については、「Elastic Beanstalk Python プラットフォームを使用する」を参照してください。