我正在尝试在 AWS EC2 实例上安装 python 3.x 并且:
sudo yum install python3
不起作用:
No package python3 available.
我已经用谷歌搜索了,我找不到其他有这个问题的人,所以我在这里问。我必须手动下载并安装它吗?
如果你做一个
sudo yum list | grep python3
你会看到虽然他们没有“python3”包,但他们有一个“python34”包,或者更新的版本,例如“python36”。安装它很简单:
sudo yum install python34 python34-pip
注意:这对于自 2018 年底以来的当前版本的 Amazon Linux 2 可能已过时(请参阅评论),您现在可以通过 yum install python3 直接安装它。
在 Amazon Linux 2 中,默认 yum 存储库中没有 python3[4-6]
,而是有 Amazon Extras Library。
sudo amazon-linux-extras install python3
如果你想用它设置隔离的虚拟环境;使用 yum install
的 virtualenv
工具似乎不能可靠地工作。
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 的人手动安装的步骤,因为它不是超级简单。编辑:使用 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
链接。
yum install python35
。如果您愿意修改您的答案,我将删除我的反对票:)
EC2(在 Amazon Linux AMI 上)当前支持 python3.4 和 python3.5。
sudo yum install python35
sudo yum install python35-pip
python3
。工作时在 Ubuntu 和 AWS Linux 之间切换非常令人沮丧!
sudo yum list | grep python3
确认 3.5 是否是最新版本,并且一旦您安装了通过键入 pythono3 --version
进行确认 - 是 python3,因为 python 将返回 v2。
从 Amazon Linux 版本 2017.09 开始,python 3.6 现已推出:
sudo yum install python36 python36-virtualenv python36-pip
有关详细信息和其他软件包,请参阅 Release Notes
-s /usr/bin/pip-3.6 /usr/bin/pip3
对我来说失败了,所以我最终使用了 pip-3.6 install xyz
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
python36
上不起作用,并且所有其他相关软件包现在都保存在 amazon-linux-extras
中,并且不要安装其他人可能作为依赖项拥有的预期软件包。
正如@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
检查可用的软件包
A> amazon-linux-extras
从列表中找到所需的带有版本的python包
B> sodo amazon-linux-extras 启用 python
C> sudo yum clean metadata && sudo yum install python
除了这个问题已有的所有答案之外,我想添加我在运行 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 设置了虚拟环境。
尝试这个
sudo yum install python34 python34-pip
这是在 Amazon linux ec2 实例上安装 python3 的一个命令:
$sudo yum 安装 python3 -y
$python3 --版本
Python 3.7.6
在 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
sudo yum install python34
对我不起作用。它说No package python34 available.
python35
...您可以在此处查看最新版本:aws.amazon.com/amazon-linux-ami/#Release_Notessudo 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