在RHEL上安装Python 3

153 投票
19 回答
331835 浏览
提问于 2025-04-17 06:04

我正在尝试在RHEL上安装python3,按照以下步骤进行:

yum search python3

结果显示 没有找到匹配项:python3

接下来:

yum search python

搜索结果中没有包含python3。我接下来应该尝试什么呢?

19 个回答

33

除了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

255

从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,所以我觉得他们是相当可靠的...

https://ius.io/

在这里查看适合你的仓库:

https://ius.io/setup

[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
205

手动安装Python其实很简单(也就是从源代码构建):

  1. 首先下载Python(你可以在Python.org上找到更新的版本):

     $ wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tar.xz
    
  2. 解压下载的文件

     $ tar xf Python-3.* 
     $ cd Python-3.*
    
  3. 准备编译环境

     $ ./configure
    
  4. 开始构建

     $ make
    
  5. 安装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)。

撰写回答