設置 Elastic Beanstalk 的 Python 開發環境 - AWS Elastic Beanstalk

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

設置 Elastic Beanstalk 的 Python 開發環境

本主題提供設定 Python 開發環境,以便在將應用程式部署到本機測試應用程式的指示 AWS Elastic Beanstalk。 它還引用了提供有用工具安裝說明的網站。

如需了解適用所有語言的常見設定步驟和工具,請參閱設定您的開發機器搭配 Elastic Beanstalk 使用

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

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

在 Linux 和 macOS 上,您可以使用偏好的 Shell 和套件軟體管理工具。在視窗上,你可以安裝視窗子系統為 Linux 得到一個視窗集成的 Ubuntu 和 Bash 的版本。

如需了解適用所有語言的常見設定步驟和工具,請參閱設定您的開發機器搭配 Elastic Beanstalk 使用

必要條件

下列清單提供使用 Elastic Beanstalk 和 Python 應用程式的常見先決條件:

  • Python 語言 — 安裝您選擇的 Elastic Beanstalk Python 平台版本中包含的 Python 語言版本的版本。如需我們支援的 Python 語言版本清單,請參閱 AWS Elastic Beanstalk 平台指南。如果您尚未在開發計算機上設置 Python,請參閱 Python 網站上的 Python 下載頁面。

  • pip實用程序-該pip實用程序是 Python 的軟件包安裝程序。它會為您的項目安裝並列出依賴項,以便 Elastic Beanstalk 知道如何設置應用程序的環境。有關更多信息pip,請參閱 pip.py pa.io 網站上的 pip 頁面

  • (選擇性) Elastic Beanstalk 命令列介面 (EBCLI) — EB CLI 可以使用必要的部署檔來封裝您的應用程式。它還可以創建一個 Elastic Beanstalk 環境並將您的應用程序部署到它。您也可以透過 Elastic Beanstalk 主控台進行部署,因此 EB 並非CLI絕對必要。

  • 正常SSH安裝 — 您可以使用SSH通訊協定連線至執行中的執行個體,以檢查或偵錯部署。

  • virtualenvpackage — 此virtualenv工具會為您的應用程式建立開發與測試環境。Elastic Beanstalk 可以複製此環境,而無需安裝應用程序不需要的額外軟件包。如需詳細資訊,請參閱虛擬環境網站。安裝 Python 後,您可以使用以下命令安virtualenv裝軟件包:

    $ pip install virtualenv

使用虛擬環境

先決條件安裝完成後,請透過 virtualenv 設定虛擬環境,以安裝應用程式的依存項目。透過使用虛擬環境,您可以準確辨別應用程式所需的套件,以便在執行應用程式的EC2執行個體上安裝所需的套件。

欲設定虛擬環境
  1. 開啟命令列視窗並輸入:

    $ virtualenv /tmp/eb_python_app

    Replace (取代) 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.
  2. 您的虛擬環境就緒後,請執行位於環境 activate 目錄的 bin 指令碼來加以啟動。例如,欲啟動前一步建立的 eb_python_app 環境,您需要輸入:

    $ source /tmp/eb_python_app/bin/activate

    虛擬環境會於命令提示字元的開頭列印其名稱 (如 (eb_python_app)),藉此提醒您正處於虛擬 Python 環境。

  3. 要停止使用您的虛擬環境並返回到系統的預設 Python 解譯器及其所有已安裝的程式庫,請執行 deactivate 命令。

    (eb_python_app) $ deactivate
注意

建立後,即可隨時再次執行虛擬環境的 activate 指令碼,將其重新啟動。

設定適用 Elastic Beanstalk 的 Python 專案

您可以使用 Elastic Beanstalk 準備您的 Python 應用程序,CLI以便使用 Elastic Beanstalk 進行部署。

透過 Elastic Beanstalk 設定 Python 應用程式以進行部署
  1. 在您的虛擬環境中,回到您專案樹狀目錄 (python_eb_app) 的最上層,並輸入:

    pip freeze >requirements.txt

    此命令將虛擬環境中安裝的軟件包的名稱和版本複製到requirements.txt,例如,如果 Py 軟件YAML包,版本 3.11 安裝在虛擬環境中,則該文件將包含以下行:

    PyYAML==3.11

    這可讓 Elastic Beanstalk 使用與您用於開發並測試應用程式的相同套件和版本,複寫您應用程式的 Python 環境。

  2. 使用eb init指令設定 EB CLI 儲存庫。依提示選擇區域、平台和其他選項。如需詳細說明,請參閱 使用 EB CLI 管理 Elastic Beanstalk 環境

根據預設,Elastic Beanstalk 會尋找名為 application.py 的檔案,以啟動您的應用程式。若您建立的 Python 專案並沒有該項目,則您應用程式的環境必須進行調整。您也將需要設定環境變數,藉此載入您應用程式的模組。如需詳細資訊,請參閱「使用 Elastic Beanstalk Python 平台」。