CentOS 7.9 安装配置Python2与Python3共存

CentOS 7.9 安装配置Python2与Python3共存

CentOS 7.9默认安装的是Python2.7.5版本, yum仓库中python3的版本是Python3.6.8。当需要更新的Python3版本时,需要手动编译安装。同时CentOS中部分工具如yum依赖Python2,yum安装python3时不会引发依赖问题,手动编译安装Python3需要额外配置Python3与Python2共存。

安装步骤如下:

# 查看当前版本
$ python -V
Python 2.7.5
$ which python
/usr/bin/python

$ pip -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)

# 安装依赖
$ sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

# 备份当前版本
$ sudo mv /usr/bin/python /usr/bin/python2.7.5                
$ ls /usr/bin/python2
python2      python2.7    python2.7.5

# 下载python3.10
$ wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tar.xz
# 编译安装
$ tar xf Python-3.10.9.tar.xz
$ cd Python-3.10.9
$ ./configure prefix=/usr/local/python3 -C --with-openssl=/usr/local/openssl --with-openssl-rpath=auto
$ sudo make && sudo make install

$ sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
$ sudo ln -s /usr/local/python3/bin/python3.10-config /usr/bin/python3-config
$ python -V
Python 3.10.9

# 配置yum Python版本,此时yum无法使用
$ sudo yum repolist
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
           ^^^^^^^^^^^^^^^^^^^^
SyntaxError: multiple exception types must be parenthesized
$ which yum
/usr/bin/yum
# 修改yum主文件第一行,使用python2.7.5
$ sudo vim /usr/bin/yum
#!/usr/bin/python2.7.5

# 此时yum安装软件还会遇到如下错误
Total download size: 422 k
Installed size: 1.0 M
Is this ok [y/d/N]: y
Downloading packages:
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
           ^^^^^^^^^^
SyntaxError: multiple exception types must be parenthesized


Exiting on user cancel

# 修改库文件urlgrabber-ext-down第一行,使用python2.7.5
$ sudo vim /usr/libexec/urlgrabber-ext-down
#! /usr/bin/python2.7.5

# 测试yum安装软件成功。

# 如果是云主机环境,使用python2安装的cloud-init,此时还需要修改cloud-init相关依赖,否则会导致cloud-init工作不正常。
$ sudo vi /usr/bin/cloud-init
#!/usr/bin/python2.7		# 将python解释器指向python2.7

# pip3配置
$ sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
$ pip3 -V
pip 22.3.1 from /usr/local/python3/lib/python3.10/site-packages/pip (python 3.10)

相关推荐

  1. CentOS 7.9 安装配置Python2Python3共存

    2024-06-06 16:48:03       29 阅读
  2. CentOS安装python3

    2024-06-06 16:48:03       31 阅读
  3. Centos 安装python3.12.3

    2024-06-06 16:48:03       31 阅读
  4. centos7安装python3.11

    2024-06-06 16:48:03       51 阅读
  5. centos7安装python3 pysnmp

    2024-06-06 16:48:03       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 16:48:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 16:48:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 16:48:03       82 阅读
  4. Python语言-面向对象

    2024-06-06 16:48:03       91 阅读

热门阅读

  1. 基于Python实现地震数据可视化的设计与实现

    2024-06-06 16:48:03       31 阅读
  2. vue3拖拉拽组件面板实现(二)使组件可放大缩小

    2024-06-06 16:48:03       26 阅读
  3. 解决splice改变原数组的BUG

    2024-06-06 16:48:03       29 阅读
  4. 如何配置Oracle的ACL权限

    2024-06-06 16:48:03       28 阅读
  5. 创建邮件系统的一个思路

    2024-06-06 16:48:03       29 阅读
  6. js 数组过滤删除空对象

    2024-06-06 16:48:03       25 阅读
  7. 基于R语言的糖尿病检测模型准确率97%

    2024-06-06 16:48:03       27 阅读
  8. 【杂记-IDS入侵检测系统、IPS入侵防御系统】

    2024-06-06 16:48:03       33 阅读
  9. Android 架构组件面试问答

    2024-06-06 16:48:03       19 阅读