我正在尝试使用以下步骤在RHEL上安装python3:
yum search python3
哪个回来了 No matches found for: python3
其次是:
yum search python
搜索结果均未包含python3。接下来我应该尝试什么?
我正在尝试使用以下步骤在RHEL上安装python3:
yum search python3
哪个回来了 No matches found for: python3
其次是:
yum search python
搜索结果均未包含python3。接下来我应该尝试什么?
Answers:
手动安装很容易:
下载(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安装,它可能是,你还是要在[前缀] / bin加入到$PATH
和[前缀] / lib下的$LD_LIBRARY_PATH
(根据的--prefix
你通过)
no acceptable C compiler found in $PATH when installing python
reffer到http://stackoverflow.com/questions/19816275/no-acceptable-c-compiler-found-in-path-when-installing-python
./configure --with-ensurepip=install
启用pip3
,否则pip3
编译后将不会安装。
从RPM安装通常更好,因为:
红帽通过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
您可以使用以下命令创建您的virtualenvpyvenv
:
pyvenv /tmp/foo
与CentOS7一起pip3.6
提供:)
sudo yum install -y epel-release
sudo yum install -y python36 python36-pip
您可以使用以下命令创建您的virtualenvpyvenv
:
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和CentOS的最新软件包。后面的人来自Rackspace,所以我认为他们值得信赖...
在此处为您检查正确的仓库:
sudo yum install -y https://repo.ius.io/ius-release-el6.rpm
sudo yum install -y python36u python36u-pip
您可以使用以下命令创建您的virtualenvpyvenv
:
python3.6 -m venv /tmp/foo
sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
sudo yum install -y python36u python36u-pip
您可以使用以下命令创建您的virtualenvpyvenv
:
python3.6 -m venv /tmp/foo
https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/iu<200c><200b>s-release-1.0-14.ius.centos6.noarch.rpm
这是unicode字符:fileformat.info/info/unicode/char/200c/index.htm 我原来的答案中的URL有效,我已经测试过它。
python34u-pip
。
除了gecco的答案外,我还将步骤3更改为:
./configure
至:
./configure --prefix=/opt/python3
然后,在安装后,您还可以:
# ln -s /opt/python3/bin/python3 /usr/bin/python3
这是为了确保安装不会与yum安装的python冲突。
请参阅我在Internet上找到的说明:
http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source
/opt
呢 /usr/local
专门为此目的而存在,并且./configure
没有明确地--prefix
放置它。
export PATH=$PATH:/opt/python3/bin
与Python 2.7和3.3一起,Red Hat Software Collections现在包括Python 3.4-均可在RHEL 6和7上运行。
RHSCL 2.0文档位于https://access.redhat.com/documentation/zh-CN/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
scl enable rh-python34 bash
?以后使用它有什么含义?
wget https://www.softwarecollections.org/en/scls/rhscl/rh-python35/epel-6-x86_64/download/rhscl-rh-python35-epel-6-x86_64.noarch.rpm
,但没有找到。
使用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而不是系统默认值时,都必须运行此最后一个命令。)
scl enable python33 bash
来启动一个新的外壳程序,该外壳程序将启用python 3或scl enable python33 'python hello.py'
将在当前外壳程序中使用python 3运行您的python文件
subscription-manager repos --enable rhel-7-server-optional-rpms --enable rhel-server-rhscl-7-rpms
。那你可以yum install rh-python36
。有关更多信息,请参见如何在RHEL上安装Python 3。
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
您可以从此处下载RHEL6 / CentOS6的源RPM和二进制RPM。
这是从最新的Fedora开发源rpm到RHEL6 / CentOS6的反向移植
createrepo
在那些目录上运行会使它们对某些人更有用。
baseurl
:0bin.net/paste/...
我看到的所有答案都是要求从代码中编译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
另请参阅链接
sudo yum install python34-setuptools
我在使用python 2.7时遇到了同样的问题。请按照以下步骤成功升级到3.6。您也可以尝试以下一种
升级版本为2.x之前查看
python --version
Python 2.7.5
使用以下命令将python升级到3.x版本-
百胜安装python3x
用所需的版本号替换x。
即用于安装python 3.6执行
yum install python36
之后,如果您想将此Python设置为默认版本,则在bashrc文件中添加
vi〜/ .bashrc
alias python='python3.6'
执行bash命令以应用设置
bash
现在您可以看到以下版本
python --version
Python 3.6.3
rh-python36
。
通过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”。在这种情况下,手动添加路径到$PATH
脚本将是一种方法。
最后,如果您正在使用sudo pip3
安装软件包,但是它告诉您找不到pip3,则可能是您在/ etc / sudoers中有一个secure_path。检查应确认这一点。要在运行命令时临时使用标准PATH,可以执行以下操作:sudo visudo
sudo env "PATH=$PATH" pip3 --version
有关更多详细信息,请参见此问题。
注意:Software Collections有一个更新的Python 3.6,但是由于我在尝试安装Pycurl时遇到了很多麻烦,因此目前不推荐使用。对于Python 3.5来说,这不是问题,因为我刚sudo yum install sclo-python35-python-pycurl
做完了就可以了。
No package centos-release-scl available.
如果您使用的是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
,它是一个以开头的Python脚本#!/usr/bin/python
。如果您从源代码编译Python,请不要make install
以root用户身份进行操作。那将覆盖/usr/bin/python
。如果中断yum
,则很难恢复系统。
欲了解更多信息,请参阅如何安装Python 3,画中画,VENV,virtualenv中,并pipenv在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。
有关更多信息,请参见上面的文章。
如果您需要正式的RHEL软件包,可以使用RHSCL(红帽软件集合)
更多细节:
您必须有权访问Red Hat Customer Portal才能阅读全文。
这是我按照以下步骤安装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
当SCL不可用时,完全工作36(基于Joys输入)
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
您可以安装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
您必须接受许可协议,并在交互模式下选择一些选项(接受默认值)。我相信它也可以以某种方式静默安装。
python
之后找不到实际的命令,它是否包装了?
对于使用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