我正在尝试使用以下步骤在RHEL上安装python3:
yum search python3
返回了No matches found for: python3
其次是:
yum search python
搜索结果中没有一个包含python3。我接下来应该尝试什么?
答案 0 :(得分:211)
从RPM安装通常更好,因为:
Red Hat通过 EPEL 存储库添加了
sudo yum install -y epel-release
sudo yum install -y python34
# Install pip3
sudo yum install -y python34-setuptools # install easy_install-3.4
sudo easy_install-3.4 pip
您可以使用pyvenv
:
pyvenv /tmp/foo
使用CentOS7,pip3.6
作为包提供:)
sudo yum install -y epel-release
sudo yum install -y python36 python36-pip
您可以使用pyvenv
:
python3.6 -m venv /tmp/foo
如果您使用pyvenv
脚本,则会收到警告:
$ pyvenv-3.6 /tmp/foo
WARNING: the pyenv script is deprecated in favour of `python3.6 -m venv`
IUS社区为RHEL& amp;提供了一些最新的软件包。 CentOS的即可。背后的人来自Rackspace,所以我认为他们非常值得信赖......
在这里为您检查正确的回购:
https://ius.io/GettingStarted/
sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm
sudo yum install -y python36u python36u-pip
您可以使用pyvenv
:
python3.6 -m venv /tmp/foo
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
sudo yum install -y python36u python36u-pip
您可以使用pyvenv
:
python3.6 -m venv /tmp/foo
答案 1 :(得分:160)
手动安装很容易:
下载(Python.org上可能有更新版本):
$ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
解压
$ tar xf Python-3.*
$ cd Python-3.*
准备编译
$ ./configure
构建
$ make
安装
$ make install
或者,如果您不想覆盖python
可执行文件(更安全,至少在某些发行版yum
需要python
为2.x,例如对于RHEL6) - 您可以使用python3.*
altinstall
作为并发实例安装到系统默认值
$ make altinstall
现在,如果您想要一个替代安装目录,可以将--prefix
传递给configure
命令。
示例:要在/ opt / local中“安装”Python,只需添加--prefix=/opt/local
即可。
在make install
步骤之后:为了使用新的Python安装,可能仍然需要将[prefix] / bin添加到$PATH
和[prefix] / lib至$LD_LIBRARY_PATH
(取决于您传递的--prefix
)
答案 2 :(得分:30)
除了gecco的回答,我还会改变第3步:
./configure
为:
./configure --prefix=/opt/python3
然后在安装后你还可以:
# ln -s /opt/python3/bin/python3 /usr/bin/python3
确保安装不会与使用yum安装的python冲突。
见我在互联网上找到的解释:
http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source
答案 3 :(得分:9)
您可以从中下载RHEL6 / CentOS6的源RPM和二进制RPM here
这是最新的Fedora开发的后端 源rpm转换为RHEL6 / CentOS6
答案 4 :(得分:9)
使用SCL回购。
sudo sh -c 'wget -qO- http://people.redhat.com/bkabrda/scl_python33.repo >> /etc/yum.repos.d/scl.repo'
sudo yum install python33
scl enable python27
(每次要使用python27而不是系统默认值时,都必须运行最后一个命令。)
答案 5 :(得分:9)
与Python 2.7和3.3一起,Red Hat Software Collections现在包含Python 3.4 - 所有这些都在RHEL 6和7上工作。
RHSCL 2.0文档位于https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/
在developerblog.redhat.com上发表了大量文章。
修改强>
# 1. Install the Software Collections tools:
yum install scl-utils
# 2. Download a package with repository for your system.
# (See the Yum Repositories on external link. For RHEL/CentOS 6:)
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm
# or for RHEL/CentOS 7
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-7-x86_64/download/rhscl-rh-python34-epel-7-x86_64.noarch.rpm
# 3. Install the repo package (on RHEL you will need to enable optional channel first):
yum install rhscl-rh-python34-*.noarch.rpm
# 4. Install the collection:
yum install rh-python34
# 5. Start using software collections:
scl enable rh-python34 bash
答案 6 :(得分:8)
Python3最近作为Python34添加到EPEL7中。
目前正在努力制定有关如何在EPEL7中打包Python3的包装指南。
见https://bugzilla.redhat.com/show_bug.cgi?id=1219411
和https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html
答案 7 :(得分:5)
我看到所有答案都是要求从代码编译python3或安装二进制RPM软件包。这是启用EPEL(企业Linux的额外软件包)然后使用yum安装python的另一个答案。 RHEL 7.5(Maipo)的步骤
yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36
另请参见link
答案 8 :(得分:5)
我在使用python 2.7时遇到了同样的问题。按照以下步骤成功升级到3.6。 你也可以尝试这个 -
在升级版本之前看到的是2.x
python --version
Python 2.7.5
使用以下命令将python升级到3.x版本 -
yum install python3x
将 x 替换为您想要的版本号。
即。用于安装python 3.6 execute
yum install python36
之后如果您想将此python设置为默认版本,则在 bashrc 文件中添加
vi~ / .bashrc
alias python='python3.6'
执行bash命令以应用设置
bash
现在您可以看到以下版本
python --version
Python 3.6.3
答案 9 :(得分:4)
如果您在RHEL上并需要Red Hat支持的Python,请使用Red Hat软件集合(RHSCL)。 Red Hat不支持EPEL和IUS软件包。上面的许多答案也指向CentOS软件集合。虽然可以安装它们,但它们不是Red Hat支持的RHEL软件包。
此外,票数最高的答案也提供了不好的建议-在RHEL上,您不想更改/usr/bin/python
,/usr/bin/python2
,因为您可能会破坏yum
和其他RHEL管理工具。看一下/bin/yum
,它是一个以#!/usr/bin/python
开头的Python脚本。如果您从源代码编译Python,请不要以make install
作为root用户。这将覆盖/usr/bin/python
。如果您中断yum
,则可能很难恢复系统。
有关更多信息,请参见How to install Python 3, pip, venv, virtualenv, and pipenv on RHEL上的developers.redhat.com。它涵盖了从RHSCL安装和使用Python 3,使用Python虚拟环境以及使用软件集合和在RHEL上使用Python的许多技巧。
简而言之,要通过Red Hat Software Collections安装Python 3.6:
$ su -
# subscription-manager repos --enable rhel-7-server-optional-rpms \
--enable rhel-server-rhscl-7-rpms
# yum -y install @development
# yum -y install rh-python36
# yum -y install rh-python36-numpy \
rh-python36-scipy \
rh-python36-python-tools \
rh-python36-python-six
要使用软件集合,您必须启用它:
scl enable rh-python36 bash
但是,如果要永久启用Python 3,可以将以下内容添加到〜/ .bashrc中,然后注销并再次登录。现在,Python 3永久存在。
# Add RHSCL Python 3 to my login environment
source scl_source enable rh-python36
注意:完成此操作后,现在输入python
将为您提供Python 3.6而不是Python 2.7。
有关所有这些信息和更多详细信息,请参见上面的文章。
答案 10 :(得分:4)
Software Collections使用Python 3.5的三个步骤:
sudo yum install centos-release-scl
sudo yum install rh-python35
scl enable rh-python35 bash
请注意,最后一个命令不需要sudo。现在我们可以看到python 3是当前shell的默认值:
python --version
Python 3.5.1
如果您希望将Python 2作为当前shell的默认值,则只需跳过上一个命令。
现在让我们说你的Python 3脚本会给你一个像/usr/bin/env: python3: No such file or directory
这样的错误。这是因为安装通常是在不寻常的路径上进行的:
/opt/rh/rh-python35/root/bin/python3
以上通常是符号链接。如果您希望在启动时为所有用户自动将python3
添加到$PATH
,则执行此操作的一种方法是添加如下文件:
sudo vim /etc/profile.d/rh-python35.sh
会有类似的内容:
#!/bin/bash
PATH=$PATH:/opt/rh/rh-python35/root/bin/
现在重启后,如果我们这样做
python3 --version
它应该工作。一个例外是自动生成的用户,例如" jenkins"在Jenkins服务器中没有shell。在这种情况下,在脚本中手动添加$PATH
路径将是一种方法。
最后,如果您使用sudo pip3
安装软件包,但它告诉您无法找到 pip3 ,则可能是您有 secure_path < / em>在 / etc / sudoers 中。使用sudo visudo
进行检查应该确认。要在运行命令时暂时使用标准 PATH ,例如:
sudo env "PATH=$PATH" pip3 --version
有关详细信息,请参阅this问题。
注意:软件集合中有一个较新的Python 3.6,但我目前不推荐它,因为我在尝试安装Pycurl时遇到了很大的麻烦。对于Python 3.5而言,这不是一个问题,因为我刚开始sudo yum install sclo-python35-python-pycurl
开箱即用。
答案 11 :(得分:3)
以下是我安装Python3的步骤:
yum install wget
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
sudo tar xvf Python-3.*
cd Python-3.*
sudo ./configure --prefix=/opt/python3
sudo make
sudo make install
sudo ln -s /opt/python3/bin/python3 /usr/bin/python3
$ /usr/bin/python3
Python 3.6.0
答案 12 :(得分:3)
如果您需要官方RHEL软件包,可以使用RHSCL(红帽软件集合)
更多详情:
您必须有权访问红帽客户门户才能阅读完整的文章。
答案 13 :(得分:1)
对于Amazon Linux上的RHEL,使用python3我必须这样做:
sudo yum install python34-devel
答案 14 :(得分:1)
yum install python34.x86_64
如果您安装了epel-release
,this answer会解释如何操作,并且我确认它在RHEL 7.3
$ cat /etc/*-release
NAME="Red Hat Enterprise Linux Server"
VERSION="7.3 (Maipo)
$ type python3
python3 is hashed (/usr/bin/python3)
答案 15 :(得分:1)
当SCL不可用时(根据Joys输入)完全工作36
yum install wget –y
wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm –ivh epel-*.rpm
yum install python36
sudo yum install python34-setuptools
sudo mkdir /usr/local/lib/python3.6
sudo mkdir /usr/local/lib/python3.6/site-packages
sudo easy_install-3.6 pip
最后激活环境...
pyvenv-3.6 py3
source py3/bin/activate
然后是python3
答案 16 :(得分:0)
您可以安装miniconda(https://conda.io/miniconda.html)。不仅是python 3.7,而且安装非常简单明了。
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O
sudo yum install bzip2
bash Miniconda3-latest-Linux-x86_64.sh
您必须接受许可协议,并在交互模式下选择一些选项(接受默认值)。 我相信它也可以以某种方式静默安装。
答案 17 :(得分:0)
对于使用AWS EC2 RHEL 7.5的用户,(使用sudo )启用必需的存储库
yum-config-manager --enable rhui-REGION-rhel-server-optional
yum-config-manager --enable rhui-REGION-rhel-server-rhscl
安装Python 3.6
yum install rh-python36
安装其他依赖项
yum install rh-python36-numpy rh-python36-scipy rh-python36-python-tools rh-python36-python-six
答案 18 :(得分:0)
从RHEL 8开始,您可以直接从官方存储库安装python3:
$ podman run --rm -ti ubi8 bash
[root@453fc5c55104 /]# yum install python3
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
...
Installed:
platform-python-pip-9.0.3-16.el8.noarch
python3-pip-9.0.3-16.el8.noarch
python3-setuptools-39.2.0-5.el8.noarch
python36-3.6.8-2.module+el8.1.0+3334+5cb623d7.x86_64
Complete!
您甚至可以获得python 3.8:
[root@453fc5c55104 /]# yum install python38
Installed:
python38-3.8.0-6.module+el8.2.0+5978+503155c0.x86_64
python38-libs-3.8.0-6.module+el8.2.0+5978+503155c0.x86_64
python38-pip-19.2.3-5.module+el8.2.0+5979+f9f0b1d2.noarch
python38-pip-wheel-19.2.3-5.module+el8.2.0+5979+f9f0b1d2.noarch
python38-setuptools-41.6.0-4.module+el8.2.0+5978+503155c0.noarch
python38-setuptools-wheel-41.6.0-4.module+el8.2.0+5978+503155c0.noarch
Complete!