

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

本主題提供設定 Python 開發環境的說明，以在本機測試您的應用程式，然後再部署到其中 AWS Elastic Beanstalk。它也參考提供實用工具安裝指示的網站。

為了遵循本指南的程序，您需要命令列終端機或 shell 來執行命令。命令清單前會出現提示字元 (\$1) 及目前的目錄名稱 (如有)。

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

在 Linux 和 macOS 上，您可以使用偏好的 Shell 和套件軟體管理工具。在 Windows [上，您可以安裝適用於 Linux 的 Windows 子系統](https://docs.microsoft.com/en-us/windows/wsl/install-win10)，以取得與 Windows 整合的 Ubuntu 和 Bash 版本。

**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 語言版本清單，請參閱 平台指南中的[支援的 Python](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.python) *AWS Elastic Beanstalk 平台*。如果您的開發機器尚未設定 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` package** – 此`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，準備將您的 Python 應用程式透過 Elastic Beanstalk 進行部署。

**透過 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)」。