如何在 AWS EC2实例上安装 Python3?

我试图在一个 AWS EC2实例上安装 python 3.x,然后:

sudo yum install python3

不起作用:

No package python3 available.

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

202112 次浏览

下面是我为其他想要手动安装 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)

如果你做一个

sudo yum list | grep python3

您将看到,虽然他们没有“ python3”包,但是他们有一个“ python34”包,或者一个更新的版本,比如“ python36”。安装它就像下面这样简单:

sudo yum install python34 python34-pip

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

sudo yum install python35
sudo yum install python35-pip

自 Amazon Linux 2017.09版本以来,python 3.6已经可用:

sudo yum install python36 python36-virtualenv python36-pip

有关更多信息和其他软件包,请参见 发行说明

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

在 Amazon Linux 2中,默认的 yum 回购协议中没有 python3[4-6],而是有 亚马逊临时图书馆

sudo amazon-linux-extras install python3

如果您想用它设置独立的虚拟环境,那么使用 yum installvirtualenv工具似乎不能可靠地工作。

virtualenv --python=python3 my_venv

调用 venv 模块/工具没有那么麻烦,而且你可以事先用 python3 --version仔细检查它是否是你想要的/期望的。

python3 -m venv my_venv

其他可以安装的东西(截至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 ]

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

正如@NickT 所说,在 Amazon Linux 2默认的 yum 回购协议中没有 python3[4-6] ,到目前为止它使用的是3.7,看看这里的所有答案,我们可以说它会随着时间的推移而改变。

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

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

为了补充这个问题已有的所有答案,我想添加在运行 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设置了您的虚拟环境。

在诸如 Ubuntu 这样的 Debian 衍生品上,使用 apt。在 apt 存储库中查找可用的 Python 版本。然后,运行类似于下面的命令,替换正确的包名称:

sudo apt-get install python3

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

sudo yum install python36

对于 SUSE 和衍生物,使用 zypper。检查存储库中可用的 Python 版本。然后。运行类似于下面的命令,替换正确的包名称:

sudo zypper install python3

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

$sudo yum install python3-y

$python3-版本

Python 3.7.6

检查可用的包裹

亚马逊-Linux-群众演员

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

B > sodo amazon-linux-Extras able python < version _ able >

C > sudo yum clean meta & & sudo yum install python < version _ able >

试试这个

安装 python34 python34-pip