ChatGPT解决这个技术问题 Extra ChatGPT

如何在 AWS EC2 实例上安装 Python 3?

我正在尝试在 AWS EC2 实例上安装 python 3.x 并且:

sudo yum install python3

不起作用:

No package python3 available.

我已经用谷歌搜索了,我找不到其他有这个问题的人,所以我在这里问。我必须手动下载并安装它吗?

可能是的,它可能还不适用于 Amazon Linux(或澄清您是否使用不同的操作系统)。
Installing python3 on RHEL 的可能重复项
嗨,是的,它是“标准”亚马逊 Linux 操作系统。很高兴手动安装,但缺少一些东西(我认为最好在花时间搞砸之前检查一下:)
@BMW 您链接到的答案很有帮助,但不足以让它自行工作。
现在我可以在 Amazon Linux 2 AMI 上运行。须藤百胜安装python3。

G
Gowtham

如果你做一个

sudo yum list | grep python3

你会看到虽然他们没有“python3”包,但他们有一个“python34”包,或者更新的版本,例如“python36”。安装它很简单:

sudo yum install python34 python34-pip

这似乎是更简单的答案。 AWS 是否在 @Jake_Howard 发布答案和您之间更新了他们的软件包?
要使用 pip3,请添加以下符号链接 # ln -s /usr/bin/pip-3.4 /usr/bin/pip3
sudo yum install python34 对我不起作用。它说No package python34 available.
@SohanShirodkar,您可能很不走运,刚刚发布了一个新版本——他们的 9 月版本移至 python35 ...您可以在此处查看最新版本:aws.amazon.com/amazon-linux-ami/#Release_Notes
2018 年,sudo yum install python36 也可用。也不要忘记安装最新的 pip: python3 -m pip install --user --upgrade pip 然后你可以 python3 -m pip install --user virtualenv 为虚拟环境。参考:packaging.python.org/guides/installing-using-pip-and-virtualenv
N
Nick T

注意:这对于自 2018 年底以来的当前版本的 Amazon Linux 2 可能已过时(请参阅评论),您现在可以通过 yum install python3 直接安装它。

在 Amazon Linux 2 中,默认 yum 存储库中没有 python3[4-6],而是有 Amazon Extras Library

sudo amazon-linux-extras install python3

如果你想用它设置隔离的虚拟环境;使用 yum installvirtualenv 工具似乎不能可靠地工作。

virtualenv --python=python3 my_venv

调用 venv 模块/工具不那么挑剔,您可以事先使用 python3 --version 仔细检查它是否是您想要/期望的。

python3 -m venv my_venv

它可以安装的其他东西(截至 2018 年 1 月 18 日的版本):

[ec2-user@x ~]$ amazon-linux-extras list
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs   disabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12   disabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3=latest  enabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]
 14  lamp-mariadb10.2-php7.2   disabled  [ =10.2.10_7.2.0 ]

“主题 python3 的支持终止日期为 2018-08-22”不再支持
@zenbeni 默认系统 Python 是否遇到了 Python 3?
@NickT python3-3.7.2-4.amzn2.0.1.x86_64 实际上是通过 'yum install python3' 安装的,你不再使用 amazon linux extras for python
如果它现在已经过时,我有点困惑为什么它会不断获得支持(上个月有 4 次)。
J
Jake_Howard

以下是我用来为其他想要安装 python3 的人手动安装的步骤,因为它不是超级简单。编辑:使用 yum 包管理器几乎肯定更容易(请参阅其他答案)。

请注意,您可能需要在执行此操作之前执行 sudo yum groupinstall 'Development Tools',否则 pip 将无法安装。

wget https://www.python.org/ftp/python/3.4.2/Python-3.4.2.tgz
tar zxvf Python-3.4.2.tgz
cd Python-3.4.2
sudo yum install gcc
./configure --prefix=/opt/python3
make
sudo yum install openssl-devel
sudo make install
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
python3 (should start the interpreter if it's worked (quit() to exit)

要使用 pip3,请将其与 sudo ln -s /opt/python3/bin/pip3 /usr/bin/pip3 链接。
@xpmatteo - 哪一点是错的?您反对的只是一个步骤还是方法?
@Jake_Howard 唯一的方法是手动安装 Python3 是不正确的。这当然是一个选项,但您也可以像其他人提到的那样执行 yum install python35。如果您愿意修改您的答案,我将删除我的反对票:)
@xpmatteo - 重新措辞删除不正确的短语的答案。对于后代:在提出问题并发布原始答案时,我不知道可以将 yum 与特定版本的 python3 一起使用(请参阅其他答案),或者这些软件包在当时不可用原创写作。
为我工作!这几天你可以使用 3.7.2 而不是 3.4.2
M
Mike D

EC2(在 Amazon Linux AMI 上)当前支持 python3.4 和 python3.5。

sudo yum install python35
sudo yum install python35-pip

这个答案的道具!默认情况下,AWS 实例上的 Python3 不是 python3。工作时在 Ubuntu 和 AWS Linux 之间切换非常令人沮丧!
这可行,您可以使用此命令 sudo yum list | grep python3 确认 3.5 是否是最新版本,并且一旦您安装了通过键入 pythono3 --version 进行确认 - 是 python3,因为 python 将返回 v2。
R
Realistic

从 Amazon Linux 版本 2017.09 开始,python 3.6 现已推出:

sudo yum install python36 python36-virtualenv python36-pip

有关详细信息和其他软件包,请参阅 Release Notes


pip3 没有链接,所以如果你想使用它, sudo ln -s /usr/bin/pip-3.6 /usr/bin/pip3
-s /usr/bin/pip-3.6 /usr/bin/pip3 对我来说失败了,所以我最终使用了 pip-3.6 install xyz
S
Sairam Krish

Amazon Linux 现在支持 python36。

python36-pip 不可用。所以需要走不同的路线。

sudo yum install python36 python36-devel python36-libs python36-tools

# If you like to have pip3.6:
curl -O https://bootstrap.pypa.io/get-pip.py
sudo python3 get-pip.py

这是 2020 年所有其他方法中最简单的方法。
这在 Amazon Linux 2 - python36 上不起作用,并且所有其他相关软件包现在都保存在 amazon-linux-extras 中,并且不要安装其他人可能作为依赖项拥有的预期软件包。
P
Putnik

正如@NickT 所说,Amazon Linux 2 的默认 yum 存储库中没有 python3[4-6],截至今天它使用 3.7,并且查看这里的所有答案,我们可以说它会随着时间的推移而改变。

我在 Amazon Linux 2 上寻找 python3.6,但 amazon-linux-extras 显示了很多选项,但根本没有 python。实际上,您可以尝试在 epel repo 中找到您知道的版本:

sudo amazon-linux-extras install epel

yum search python | grep "^python3..x8"

python34.x86_64 : Version 3 of the Python programming language aka Python 3000
python36.x86_64 : Interpreter of the Python programming language

不幸的是,它现在唯一显示的版本是 python34.x86_64,他们一定已经删除了 python36.x86_64,这很烦人。
S
Saurav Bhowmick

检查可用的软件包

A> amazon-linux-extras

从列表中找到所需的带有版本的python包

B> sodo amazon-linux-extras 启用 python

C> sudo yum clean metadata && sudo yum install python


n
nambastha

除了这个问题已有的所有答案之外,我想添加我在运行 CentOS 7 的 AWS EC2 实例上安装 Python3 所遵循的步骤。您可以在此链接中找到全部详细信息。

https://aws-labs.com/install-python-3-centos-7-2/

首先,我们需要启用 SCL。 SCL 是一个社区项目,允许您在同一系统上构建、安装和使用多个版本的软件,而不会影响系统默认包。

sudo yum install centos-release-scl

现在我们有了 SCL 存储库,我们可以安装 python3

sudo yum install rh-python36

要访问 Python 3.6,您需要使用 Software Collection scl 工具启动一个新的 shell 实例:

scl enable rh-python36 bash

如果您现在检查 Python 版本,您会注意到 Python 3.6 是默认版本

python --version

需要指出的是,Python 3.6 是仅在此 shell 会话中的默认 Python 版本。如果您退出会话或从另一个终端打开新会话,Python 2.7 将是默认的 Python 版本。

现在,通过键入以下命令安装 python 开发工具:

sudo yum groupinstall ‘Development Tools’

现在创建一个虚拟环境,这样默认的 python 包就不会被弄乱。

mkdir ~/my_new_project
cd ~/my_new_project
python -m venv my_project_venv

要使用这个虚拟环境,

source my_project_venv/bin/activate

现在,您已经使用 python3 设置了虚拟环境。


B
Bhanuka Gajanayake

尝试这个

sudo yum install python34 python34-pip


您的答案可以通过额外的支持信息得到改进。请edit添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。您可以找到有关如何写出好答案的更多信息in the help center
P
Pruthvi Chitrala

这是在 Amazon linux ec2 实例上安装 python3 的一个命令:

$sudo yum 安装 python3 -y

$python3 --版本

Python 3.7.6


L
Light Bringer

在 Debian 衍生产品(例如 Ubuntu)上,使用 apt。检查 apt 存储库以获取可供您使用的 Python 版本。然后,运行类似于以下的命令,替换正确的包名称:

sudo apt-get install python3

在 Red Hat 和衍生产品上,使用 yum。检查 yum 存储库以获取可供您使用的 Python 版本。然后,运行类似于以下的命令,替换正确的包名称:

sudo yum install python36

在 SUSE 和衍生产品上,使用 zypper。检查存储库以获取可供您使用的 Python 版本。然后。运行类似于以下的命令,替换正确的包名称:

sudo zypper install python3