在RHEL上安装python3时出现问题
我正在尝试使用以下步骤在RHEL上安装python3:
yum search python3
其中返回No matches found for: python3
其次是:
yum search python
没有任何search结果包含python3。 接下来我应该尝试什么?
手动安装很容易:
-
下载( 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
-
build立
$ make
-
安装
$ make install
或者如果你不想覆盖
python
可执行文件(比较安全,至less在某些发行版中需要python
是2.x,比如RHEL6) – 你可以安装python3.*
作为系统默认的并发实例一个altinstall
:$ make altinstall
现在如果你想要一个替代的安装目录,你可以将--prefix
传递给configure
命令。
例如:要在/ opt / local中“安装”Python,只需添加--prefix=/opt/local
。
make install
步骤之后:为了使用新的Python安装,可能还需要将$PATH
和[prefix] / lib的[prefix] / bin添加到$LD_LIBRARY_PATH
(具体取决于--prefix
你通过的--prefix
)
从RPM安装通常更好,因为:
- 你可以安装和卸载 (正确)python3。
- 安装时间更快 。 如果您在具有多个虚拟机的云环境中工作,则不能接受在每个虚拟机上编译python3。
解决scheme1:红帽和EPEL存储库
红帽已经通过EPEL存储库为CentOS 6和7添加了Python 3.4 。
不幸:
-
pip3
没有捆绑在任何RPM中。 你需要手动安装 (见下文)。 -
pyvenv
被窃听,不起作用。 你需要使用virtualenv
。
[EPEL]如何在CentOS 6和7上安装Python 3.4
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 # I guess you would like to install virtualenv or virtualenvwrapper sudo pip3 install virtualenv sudo pip3 install virtualenvwrapper
如果你想使用pyvenv
,你可以做下面的pip3
在你的virtualenv中安装pip3
:
pyvenv --without-pip my_env curl https://bootstrap.pypa.io/get-pip.py | my_env/bin/python
但是,如果您想要开箱即用,则可以在.bashrc
添加这个bash函数(别名):
pyvenv() { /usr/bin/pyvenv --without-pip $@; for env in $@; do curl https://bootstrap.pypa.io/get-pip.py | "$env/bin/python"; done; }
解决scheme2:IUS社区存储库
IUS社区为RHEL&CentOS提供了一些最新的软件包 。 后面的人是来自Rackspace,所以我认为他们是相当值得信赖的…
在这里检查正确的回购:
https://ius.io/GettingStarted/
[IUS]如何在CentOS 6上安装Python 3.5
sudo yum install -y https://centos6.iuscommunity.org/ius-release.rpm sudo yum install -y python35u python35u-pip # I guess you would like to install virtualenv or virtualenvwrapper sudo pip3.5 install virtualenv sudo pip3.5 install virtualenvwrapper
注意:如果你不想使用virtualenv
你可以使用pyvenv-3.5
。
[IUS]如何在CentOS 7上安装Python 3.5
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm sudo yum install -y python35u python35u-pip # I guess you would like to install virtualenv or virtualenvwrapper sudo pip3.5 install virtualenv sudo pip3.5 install virtualenvwrapper
注意:如果你不想使用virtualenv
你可以使用pyvenv-3.5
。
除了gecco的答案,我会改变步骤3:
./configure
至:
./configure --prefix=/opt/python3
然后在安装之后,您还可以:
# ln -s /opt/python3/bin/python3 /usr/bin/python3
这是确保安装不会与yum安装的python冲突。
看看我在网上find的解释:
http://www.hosting.com/support/linux/installing-python-3-on-centosredhat-5x-from-source
使用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而不是系统默认的时候,这个最后的命令将被运行。)
您可以从这里下载RHEL6 / CentOS6的源代码RPM和二进制RPM
这是从最新的Fedora开发源代码rpm到RHEL6 / CentOS6的一个后端
Python3最近被添加到EPEL7作为Python34。
目前正在进行(当前)努力制定关于如何在EPEL7中打包Python3的打包指南。
请参阅https://bugzilla.redhat.com/show_bug.cgi?id=1219411
和https://lists.fedoraproject.org/pipermail/python-devel/2015-July/000721.html
除了Python 2.7和3.3之外,红帽软件集合现在包含Python 3.4 – 所有这些工具都可以在RHEL 6和7上运行。
RHSCL 2.0文档位于https://access.redhat.com/documentation/en-US/Red_Hat_Software_Collections/
还有很多文章在developerblog.redhat.com。
编辑
按照以下说明在RHEL 6/7或CentOS 6/7上安装Python 3.4:
# 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
如果你想要官方的RHEL包,你可以使用RHSCL(红帽软件集合)
更多细节:
- RHSCL 1.1中的Python 3.3指南
- 如何访问和下载Red Hat Software Collections(RHSCL)和/或Red Hat Developer Toolset(DTS)?
您必须访问红帽客户门户才能阅读完整的文章。
yum install python34.x86_64
如果你安装了epel-release
,那么这个答案解释了如何解决,我确认它在RHEL 7.3
$ cat /etc/*-release NAME="Red Hat Enterprise Linux Server" VERSION="7.3 (Maipo) $ type python3 python3 is hashed (/usr/bin/python3)
以下是我遵循的安装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使
sudo make install
sudo ln -s / opt / python3 / bin / python3 / usr / bin / python3
$ / usr / bin / python3
Python 3.6.0
软件集合使用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的默认值,那么只需跳过上一条命令即可。
对于Amazon Linux上的RHEL,使用python3我必须这样做:
sudo yum安装python34-devel