解决Linux下安装新版本Python后与自带的python版本冲突问题

本文详细介绍了如何在CentOS 6.5上安装Python 3.6.6版本,包括安装所需的依赖包、配置安装路径、解决版本冲突问题以及设置环境变量等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此处以CentOS6.5上安装python3.6.6为例:

1.python3.6.6安装:

1.1安装python依赖包:

进入root用户:

执行命令:

# yum install zlib-devel sqlite-devel

 zlib-devel安装成功

运行期间碰到Is this ok [y/N]: ,输入y再回车即可。

执行命令:

# yum install readline-devel

遇见Is this ok [y/N]:,输入y回车即可

 readline-devel安装成功,解决退格键与方向键出现乱码的问题。

1.2下载python3.6.6包:

# wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz

1.3.解压安装包

# tar -xzvf Python-3.6.6.tgz

1.4进入目录

# cd Python-3.6.6

1.5配置、检查依赖,装在/usr/local/python3下:

# ./configure --prefix=/usr/local/python3 --with-ssl

注:添加prefix前缀指定安装的目标路径

如果出现如下错误,则是没有装gcc:

使用命令yum install gcc安装gcc,遇到选[y/N]输入y即可。结果如下所示(默认安装的是gcc的4.4.7版本,若有必要时可进行升级):

安装完成,再次在Python-3.6.6目录下运行# ./configure --prefix=/usr/local/python3 --with-ssl

需要等待一会。

结果如下:

1.6编译&安装

# make && make install

此处需要等一段时间,结果如下,则安装成功:

1.7建立新的软链接

# ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3

1.8测试运行

测试:

# python3 --version

显示如下信息:

进入python界面:

# python3

3.9.环境变量

[root@sparkr3 cloud]# vim /etc/profile

最后一行添加:export PATH=$PATH:/usr/local/python3/bin

[root@sparkr3 cloud]# source /etc/profile

2.修改版本冲突问题

现在当使用python --version时,可以看到弹出来的是2.6.6版本

我们需要让python --version 时可以看到3.6.6版本,并且不影响其他的

第一步:备份/usr/bin/下的python

              进入到/usr/bin目录下:执行mv python python.bak

第二步:执行

              mv python3 python

第三步: 执行

             rm -f python2

第四部:执行

              mv python.bak python2

完成后我们执行python --version时可以看到是3.6.6

原来自带的2.6.6在执行python2 --version时可以看到

此时当使用yum时,会发现有错误,是因为yum不支持python3.6.6版本。则执行以下步骤:

进入 /usr/bin/目录执行vim yum操作:

将文件第一行改为上图,即将python改为python2,保存退出即可。

 

<think>我们正在Rocky Linux安装新版本Python并将其设置为默认版本。Rocky Linux是RHEL的兼容发行版,因此我们可以使用类似CentOS/RHEL的方法。 步骤: 1. 安装必要的开发工具和依赖 2. 下载最新Python源码 3. 编译并安装 4. 验证安装并设置默认版本(通过更新alternatives) 注意:Rocky Linux默认可能已经安装Python(通常是Python 2或3.6),但我们要安装最新版(如3.10+)并设置为默认。 详细步骤: 1. 安装依赖: sudo dnf groupinstall -y "Development Tools" sudo dnf install -y openssl-devel bzip2-devel libffi-devel xz-devel wget 2. 下载最新Python源码(以Python 3.10.6为例,但建议检查最新版本): wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz tar xvf Python-3.10.6.tgz cd Python-3.10.6 3. 配置、编译和安装: ./configure --enable-optimizations make -j $(nproc) # 使用所有核心编译 sudo make altinstall # 使用altinstall以避免覆盖系统默认的python二进制文件 注意:使用`altinstall`会安装为`python3.10`,而不会覆盖`/usr/bin/python3`。但我们可以通过更新alternatives来设置默认。 4. 设置默认版本(使用alternatives): 首先,确保alternatives系统中有python3的选项: sudo alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 1 然后,设置默认: sudo alternatives --set python3 /usr/local/bin/python3.10 验证: python3 --version 但是,请注意:有些系统工具可能依赖于旧版本Python,因此更改系统默认的python3可能会影响这些工具。Rocky Linux 8及以上版本中,系统工具通常使用`/usr/bin/python3`(可能是3.6或3.8),而我们安装版本在`/usr/local/bin`。因此,我们通过alternatives来管理,这样可以在需要时切换。 另一种方法是直接替换`/usr/bin/python3`的链接,但不推荐,因为可能破坏系统工具。使用alternatives更安全。 另外,我们也可以考虑不替换系统默认的python3,而是使用虚拟环境。但用户要求设置为默认版本,因此我们使用alternatives方法。 如果alternatives之前没有设置过,可能需要先删除旧的设置(如果有冲突)或添加新的。 补充:安装pip 通常,编译安装Python已经包含了pip。如果没有,可以这样安装python3 -m ensurepip --upgrade 注意:使用`make altinstall`不会安装pip为`pip3`,但会安装`pip3.10`。我们可以通过alternatives来设置pip的默认版本,类似python3的设置。 设置pip的alternatives: sudo alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.10 1 sudo alternatives --set pip /usr/local/bin/pip3.10 或者,用户也可以直接使用`pip3.10`命令。 最后,验证: python3 --version # 应显示3.10.6 pip --version # 应显示对应pip版本 注意:如果系统原本没有pip3,那么直接设置pip的alternatives即可。如果原本有,则通过alternatives切换。 重要:在Rocky Linux 8中,默认可能没有安装alternatives,但通常已经安装了。如果没有,安装`alternatives`(在Rocky Linux中,alternatives命令由`chkconfig`包提供,但通常已安装)。 另外,如果用户想要安装其他版本,只需替换下载链接中的版本号即可。 参考引用: [^1]: 关于编译安装Python的官方文档:https://docs.python.org/3/using/unix.html#building-python [^2]: 关于使用alternatives管理多个版本:https://linux.die.net/man/8/alternatives 但是,请注意,我们也可以使用第三方工具(如pyenv)来安装和管理多个Python版本,但用户要求安装为默认版本,因此我们采用编译安装并设置alternatives的方式。 如果用户希望使用更简单的方法,可以考虑使用Rocky Linux的第三方仓库(如EPEL)来安装新版本Python,但可能不是最新版。例如: sudo dnf install epel-release sudo dnf install python39 # 例如安装3.9 但这种方法可能无法获得最新版本(如3.10或3.11),因此我们选择源码编译。 因此,我们按照上述步骤进行。 生成相关问题: 1. 如何在使用alternatives管理多个Python版本之间切换? 2. 在Rocky Linux安装Python时如何避免影响系统自带Python? 3. 如何卸载通过源码编译安装Python版本? 4. 除了alternatives,还有哪些工具可以管理多个Python版本? 5. 如何在Rocky Linux安装特定版本Python(如3.9)? 注意:用户的问题中引用了两个引用,但内容是关于tox和juju的,当前问题无关,因此忽略。</think>### 在 Rocky Linux安装最新版 Python 并设为默认版本 #### 步骤 1:安装编译依赖 ```bash sudo dnf groupinstall "Development Tools" -y sudo dnf install openssl-devel bzip2-devel libffi-devel \ sqlite-devel readline-devel tk-devel gdbm-devel \ xz-devel expat-devel zlib-devel -y ``` > 这些开发工具和库是编译 Python 必需的[^1]。 #### 步骤 2:下载最新 Python 源码 访问 [Python 官网](https://www.python.org/downloads/source/) 获取最新版本号(例如 3.12.0),然后执行: ```bash wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz tar -xvf Python-3.12.0.tgz cd Python-3.12.0 ``` #### 步骤 3:编译安装 ```bash ./configure --enable-optimizations --prefix=/usr/local make -j $(nproc) sudo make altinstall ``` > 使用 `altinstall` 避免覆盖系统默认 Python[^2]。安装后可通过 `python3.12` 调用。 #### 步骤 4:设为系统默认版本 ```bash sudo alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 50 sudo alternatives --set python3 /usr/local/bin/python3.12 ``` 验证: ```bash python3 --version # 应输出 Python 3.12.0 ``` #### 步骤 5:修复 pip 关联 ```bash sudo alternatives --install /usr/bin/pip3 pip3 /usr/local/bin/pip3.12 50 sudo alternatives --set pip3 /usr/local/bin/pip3.12 ``` #### 注意事项 1. 系统工具依赖:某些系统工具(如 `dnf`)依赖原版 Python,不建议替换 `/usr/bin/python` 符号链接 2. 虚拟环境:推荐使用 `venv` 创建隔离环境: ```bash python3 -m venv myenv source myenv/bin/activate ``` 3. 多版本管理:使用 `alternatives --config python3` 可切换版本 > 关键操作说明: > - `--enable-optimizations` 启用编译器优化提升性能 > - `altinstall` 保留系统原 Python 避免破坏依赖 > - alternatives 优先级数字越大优先级越高
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值