为 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 和程序包管理器。在 Windows 上,你可以安装适用于 Linux 的 Windows 子系统来获得与 Windows 集成的版本的 Ubuntu 和 Bash。

有关适用于所有语言的常见设置步骤和工具,请参阅配置用于 Elastic Beanstalk 的开发计算机

先决条件

以下列表提供了使用 Elastic Beanstalk 和你的 Python 应用程序的常见先决条件:

  • Python 语言 — 安装你选择的 Elastic Beanstalk Python 平台版本中包含的 Python 语言版本。有关我们支持的 Python 语言版本的列表,请参阅《支持的 Python 平台AWS Elastic Beanstalk 平台指南。如果你尚未在开发计算机上设置 Python,请查看 Python 网站上的 Python 下载页面。

  • pip实用程序-该pip实用程序是 Python 的软件包安装程序。它会为您的项目安装并列出依赖项,因此 Elastic Beanstalk 知道如何设置应用程序的环境。有关更多信息pip,请参阅 p ip.pyp a.io 网站上的 pi p 页面

  • (可选)Elastic Beanstalk 命令行界面 CLI (EB) EB 可以将您的应用程序CLI与必要的部署文件打包。它还可以创建 Elastic Beanstalk 环境并将您的应用程序部署到该环境中。您也可以通过 Elastic Beanstalk 控制台进行部署,因此 EB 并不是绝对必要CLI的。

  • 有效的SSH安装 — 您可以使用SSH协议连接到正在运行的实例,以检查或调试部署。

  • virtualenvpack@@ ag e — 此virtualenv工具为您的应用程序创建开发和测试环境。Elastic Beanstalk 无需安装应用程序不需要的额外软件包即可复制此环境。欲了解更多信息,请访问 v irtualenv 网站。安装 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 应用程序做好准备,以便通过 Elasti CLI c Beanstalk 进行部署。

将 Python 应用程序配置为随 Elastic Beanstalk 一起部署
  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 平台 了解更多信息。