如何在 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 应用程序,在您的虚拟环境中,返回到项目目录树的顶部,并创建一个 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