AWS Elastic Beanstalk
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

在 Linux 上安装 Python、pip 和 EB CLI

EB CLI 需要 Python 2.7 或 3.4+。如果您的分发没有随 Python 提供,或者提供的是较早的版本,请在安装 pip 和 EB CLI 之前安装 Python。

在 Linux 上安装 Python 3.4

  1. 检查是否已安装 Python。

    $ python --version

    注意

    如果您的 Linux 分发版本附带了 Python,则可能需要安装 Python 开发人员程序包以获取编译扩展和安装 EB CLI 时需要的标头和库。使用程序包管理器安装开发人员程序包 (名称通常为 python-dev 或 python-devel)。

  2. 如果尚未安装 Python 2.7 或更高版本,请使用分发版本的程序包管理器来安装 Python 3.4。命令和程序包名称会有所不同:

    • 在 Debian 衍生系统 (如 Ubuntu) 上,请使用 APT

      $ sudo apt-get install python3.4
    • 在 Red Hat 及其衍生系统上,请使用 yum

      $ sudo yum install python34
    • 在 SUSE 及其衍生系统上,请使用 zypper

      $ sudo zypper install python3-3.4.1
  3. 打开命令提示符或 shell,并运行以下命令验证 Python 是否已正确安装。

    $ python3 --version Python 3.4.3

使用 Python 打包权威机构提供的脚本安装 pip,然后安装 EB CLI。

安装 pip 和 EB CLI

  1. pypa.io 下载安装脚本:

    $ curl -O https://bootstrap.pypa.io/get-pip.py

    脚本将会下载,并将安装 pip 的最新版本以及另一个名为 setuptools 的必需程序包。

  2. 使用 Python 运行脚本。

    $ python3 get-pip.py --user Collecting pip Downloading pip-8.1.2-py2.py3-none-any.whl (1.2MB) Collecting setuptools Downloading setuptools-26.1.1-py2.py3-none-any.whl (464kB) Collecting wheel Downloading wheel-0.29.0-py2.py3-none-any.whl (66kB) Installing collected packages: pip, setuptools, wheel Successfully installed pip setuptools wheel

    使用 python3 命令而不是 python 来直接调用 Python 版本 3,这样可确保即使系统上存在 Python 的较旧系统版本,pip 也会安装在正确的位置。

  3. 将可执行文件的路径 ~/.local/bin 添加到您的 PATH 变量中。

    修改您的 PATH 变量 (Linux, OS X, or Unix):

    1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL

      $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
      • Bash.bash_profile.profile.bash_login

      • Zsh.zshrc

      • Tcsh.tcshrc.cshrc.login

    2. 向配置文件脚本中添加导出命令。以下示例向当前 PATH 变量中添加 LOCAL_PATH 所表示的路径。

      export PATH=LOCAL_PATH:$PATH
    3. 将在第一步中描述的配置脚本文件加载到当前会话中。以下示例将 PROFILE_SCRIPT 所表示的配置文件脚本加载到当前会话中。

      $ source ~/PROFILE_SCRIPT
  4. 验证 pip 是否已正确安装。

    $ pip --version pip 8.1.2 from ~/.local/lib/python3.4/site-packages (python 3.4)
  5. 最后,使用 pip 安装 EB CLI。

    $ pip install awsebcli --upgrade --user Collecting awsebcli Downloading awsebcli-3.7.8.tar.gz (176kB) Collecting pyyaml>=3.11 (from awsebcli) Downloading PyYAML-3.12.tar.gz (253kB) Collecting botocore>=1.0.1 (from awsebcli) Downloading botocore-1.4.53-py2.py3-none-any.whl (2.6MB)s Collecting cement==2.8.2 (from awsebcli) Downloading cement-2.8.2.tar.gz (165kB) Collecting colorama==0.3.7 (from awsebcli) Downloading colorama-0.3.7-py2.py3-none-any.whl Collecting pathspec==0.3.4 (from awsebcli) Downloading pathspec-0.3.4.tar.gz Requirement already satisfied (use --upgrade to upgrade): setuptools>=20.0 in ./.local/lib/python3.4/site-packages (from awsebcli) Collecting docopt<0.7,>=0.6.1 (from awsebcli) Downloading docopt-0.6.2.tar.gz Collecting requests<=2.9.1,>=2.6.1 (from awsebcli) Downloading requests-2.9.1-py2.py3-none-any.whl (501kB) Collecting texttable<0.9,>=0.8.1 (from awsebcli) Downloading texttable-0.8.4.tar.gz Collecting websocket-client<1.0,>=0.11.0 (from awsebcli) Downloading websocket_client-0.37.0.tar.gz (194kB) Collecting docker-py<=1.7.2,>=1.1.0 (from awsebcli) Downloading docker-py-1.7.2.tar.gz (68kB) Collecting dockerpty<=0.4.1,>=0.3.2 (from awsebcli) Downloading dockerpty-0.4.1.tar.gz Collecting semantic_version==2.5.0 (from awsebcli) Downloading semantic_version-2.5.0-py3-none-any.whl Collecting blessed==1.9.5 (from awsebcli) Downloading blessed-1.9.5-py2.py3-none-any.whl (77kB) Collecting docutils>=0.10 (from botocore>=1.0.1->awsebcli) Downloading docutils-0.12-py3-none-any.whl (508kB) Collecting python-dateutil<3.0.0,>=2.1 (from botocore>=1.0.1->awsebcli) Downloading python_dateutil-2.5.3-py2.py3-none-any.whl (201kB) Collecting jmespath<1.0.0,>=0.7.1 (from botocore>=1.0.1->awsebcli) Downloading jmespath-0.9.0-py2.py3-none-any.whl Collecting six (from websocket-client<1.0,>=0.11.0->awsebcli) Downloading six-1.10.0-py2.py3-none-any.whl Collecting wcwidth>=0.1.0 (from blessed==1.9.5->awsebcli) Downloading wcwidth-0.1.7-py2.py3-none-any.whl Building wheels for collected packages: awsebcli, pyyaml, cement, pathspec, docopt, texttable, websocket-client, docker-py, dockerpty Running setup.py bdist_wheel for awsebcli ... done Running setup.py bdist_wheel for pyyaml ... done Running setup.py bdist_wheel for cement ... done Running setup.py bdist_wheel for pathspec ... done Running setup.py bdist_wheel for docopt ... done Running setup.py bdist_wheel for texttable ... done Running setup.py bdist_wheel for websocket-client ... done Running setup.py bdist_wheel for docker-py ... done Running setup.py bdist_wheel for dockerpty ... done Successfully built awsebcli pyyaml cement pathspec docopt texttable websocket-client docker-py dockerpty Installing collected packages: pyyaml, docutils, six, python-dateutil, jmespath, botocore, cement, colorama, pathspec, docopt, requests, texttable, websocket-client, docker-py, dockerpty, semantic-version, wcwidth, blessed, awsebcli Successfully installed awsebcli-3.7.8 blessed-1.9.5 botocore-1.4.53 cement-2.8.2 colorama-0.3.7 docker-py-1.7.2 dockerpty-0.4.1 docopt-0.6.2 docutils-0.12 jmespath-0.9.0 pathspec-0.3.4 python-dateutil-2.5.3 pyyaml-3.12 requests-2.9.1 semantic-version-2.5.0 six-1.10.0 texttable-0.8.4 wcwidth-0.1.7 websocket-client-0.37.0
  6. 验证 EB CLI 是否已正确安装。

    $ eb --version EB CLI 3.7.8 (Python 3.4.3)

要升级到最新版本,请重新运行安装命令。

$ pip install awsebcli --upgrade --user