我正在尝试在AWS EC2实例上安装python 3.x,并且:
sudo yum install python3
不起作用:
No package python3 available.
我已经四处搜寻,找不到其他人遇到这个问题,所以我在这里问。我必须手动下载并安装它吗?
我正在尝试在AWS EC2实例上安装python 3.x,并且:
sudo yum install python3
不起作用:
No package python3 available.
我已经四处搜寻,找不到其他人遇到这个问题,所以我在这里问。我必须手动下载并安装它吗?
Answers:
如果你做一个
sudo yum list | grep python3
您会看到,虽然它们没有“ python3”软件包,但确实有“ python34”软件包或更新的发行版,例如“ python36”。安装起来很简单:
sudo yum install python34 python34-pip
sudo yum install python34
对我不起作用。它说No package python34 available.
python35
...,在这里您可以看到最新版本:aws.amazon.com/amazon-linux-ami/#Release_Notes
sudo yum install python36
也可用。也不要忘记安装最新的pip:python3 -m pip install --user --upgrade pip
然后您就可以安装python3 -m pip install --user virtualenv
虚拟环境了。参考:package.python.org/guides/installing-using-pip-and-virtualenv
注意:自2018年末以来,这对于Amazon Linux 2的当前版本可能已过时(请参阅评论),您现在可以通过进行直接安装
yum install python3
。
在Amazon Linux 2中,python3[4-6]
默认的yum存储库中没有,而是Amazon Extras库。
sudo amazon-linux-extras install python3
如果要使用它设置隔离的虚拟环境,请执行以下操作:使用yum install
'd virtualenv
工具似乎无法可靠地工作。
virtualenv --python=python3 my_venv
调用venv模块/工具不太麻烦,您可以python3 --version
事先检查一下它是否是您想要/期望的。
python3 -m venv my_venv
它可以安装的其他东西(截至18 Jan 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
像其他人提到的那样做。如果您愿意修改答案,我会删除我的
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
需要指出的是,仅在此Shell会话中,Python 3.6是默认的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设置了虚拟环境。
在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