在RHEL上安装Python 3
我正在尝试在RHEL上安装python3,按照以下步骤进行:
yum search python3
结果显示 没有找到匹配项:python3
接下来:
yum search python
搜索结果中没有包含python3。我接下来应该尝试什么呢?
19 个回答
除了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
从RPM安装通常更好,因为:
- 你可以正确地安装和卸载 python3。
- 安装速度快得多。如果你在云环境中使用多个虚拟机,每台虚拟机上都编译python3是不可接受的。
解决方案1:Red Hat和EPEL仓库
Red Hat通过EPEL仓库提供了:
- CentOS 6的Python 3.4
- CentOS 7的Python 3.6
[EPEL] 如何在CentOS 6上安装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
你可以使用pyvenv
创建你的虚拟环境:
pyvenv /tmp/foo
[EPEL] 如何在CentOS 7上安装Python 3.6
在CentOS 7中,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`
解决方案2:IUS社区仓库
IUS社区提供了一些最新的RHEL和CentOS软件包。他们的团队来自Rackspace,所以我觉得他们是相当可靠的...
在这里查看适合你的仓库:
[IUS] 如何在CentOS 6上安装Python 3.6
sudo yum install -y https://repo.ius.io/ius-release-el6.rpm
sudo yum install -y python36u python36u-pip
你可以使用pyvenv
创建你的虚拟环境:
python3.6 -m venv /tmp/foo
[IUS] 如何在CentOS 7上安装Python 3.6
sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
sudo yum install -y python36u python36u-pip
你可以使用pyvenv
创建你的虚拟环境:
python3.6 -m venv /tmp/foo
手动安装Python其实很简单(也就是从源代码构建):
首先下载Python(你可以在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
安装Python
或者,如果你不想覆盖系统已有的
python
可执行文件(这样做更安全,尤其是在某些系统上,比如yum
需要python
是2.x版本,像RHEL6),你可以用altinstall
安装python3.*
,这样它会和系统默认的版本并存:$ make install
这样做可以避免冲突。
$ make altinstall
如果你想把Python安装到其他目录,可以在configure
命令中加上--prefix
选项。
举个例子,如果你想把Python安装到/opt/local目录,只需要加上--prefix=/opt/local
。
在完成make install
这一步后,为了使用你新安装的Python,可能还需要把[前缀]/bin添加到$PATH
中,以及把[前缀]/lib添加到$LD_LIBRARY_PATH
中(这取决于你之前设置的--prefix
)。