如何在 AWS 上设置 Python 开发环境?
您需要安装 Python、pip、virtualenv、awswebcli 和 SSH 客户端才能在 AWS 上设置 Python 开发环境。您可以按照http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3-install.html中的说明进行安装。
安装完成后,您需要设置一个虚拟环境,以避免全局软件包受到污染。使用以下命令设置虚拟环境:
$ virtualenv -p python2.7 /tmp/hello-world Running virtualenv with interpreter /usr/bin/python2.7 New python executable in /tmp/hello-world/bin/python2.7 Also creating executable in /tmp/hello-world/bin/python Installing setuptools, pip...done.
虚拟环境准备就绪后,通过运行位于环境 bin 目录中的 activate 脚本启动它。例如,要启动上一步中创建的 hello-world 环境,您可以键入:
$ . /tmp/hello-world/bin/activate
创建后,您可以随时通过再次运行其 activate 脚本重新启动虚拟环境。
要配置要部署的 Python 应用程序,请在您的 virtualenv 中,返回到项目目录树的顶部,并创建一个 requirements.txt 文件,其中包含应用程序的需求(您正在导入的第三方模块)及其版本号(如果需要最新版本,则可以省略)。例如:
Flask==0.8 Jinja2==2.6 Werkzeug==0.8.3 certifi==0.0.8 chardet==1.0.1 : ...
或者,您可以使用 pip 将计算机上所有已安装的软件包获取到 requirements.txt 文件中,方法如下:
$ pip freeze >requirements.txt
这允许 AWS 使用与您开发和测试应用程序时相同的软件包和版本复制应用程序的 Python 环境。
现在使用“eb init”命令配置 AWS EB CLI 存储库。
$ eb init -p python2.7 hello-world
已创建应用程序 hello-world。
此命令创建一个名为 hello-world 的新应用程序,并配置您的本地存储库以使用最新的 Python 2.7 平台配置创建环境。再次运行 eb init 以配置默认密钥对,以便您可以使用 SSH 连接到运行应用程序的 EC2 实例。
$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]
如果您已拥有密钥对,请选择一个,或者按照提示创建一个新的密钥对。如果您没有看到提示或稍后需要更改设置,请运行 eb init -i。创建一个环境并将您的应用程序部署到其中,方法是使用 eb create。
$ eb create hello-env
此命令创建一个名为 hello-env 的负载均衡 Elastic Beanstalk 环境。
如果您遇到任何问题,可以查看此处提供的更详细的文档:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create-deploy-python-django.html#python-django-configure-for-eb