当前位置: 首页 > article >正文

centos已安装python3.7环境,还行单独安装python3.10环境,如何安装,具体步骤

在CentOS系统上已安装Python 3.7环境的情况下,如果还需要单独安装Python 3.10环境,可以按照以下具体步骤进行操作:
一、更新系统并安装依赖

    更新系统:

sudo yum update

安装编译所需的依赖:

bash

sudo yum groupinstall -y "Development Tools"  

   

sudo yum install -y openssl-devel libffi-devel bzip2-devel zlib-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

二、下载并安装Python 3.10源码

    切换目录:

    bash

cd /usr/src

下载Python 3.10源码:

bash

sudo wget https://www.python.org/ftp/python/3.10.x/Python-3.10.x.tgz  # x代表具体的小版本号,如4、5等,请根据实际情况选择

解压源码并进入目录:

bash

sudo tar xzf Python-3.10.x.tgz  

cd Python-3.10.x

配置安装选项:

bash

sudo ./configure --enable-optimizations --prefix=/usr/local/python3.10 --with-openssl=/usr/local/openssl --with-openssl-rpath=auto

注意:如果系统中未安装OpenSSL 1.1.1或更高版本,需要先下载并安装。安装步骤大致为:下载源码、解压、编译并安装,然后创建软链接以替换系统默认的OpenSSL。

编译并安装Python:

bash

sudo make -j$(nproc)  # 使用所有可用的CPU核心进行编译  

   

sudo make altinstall  # 使用altinstall而不是install以避免覆盖系统默认的Python版本

三、验证安装并创建软链接

    验证安装:

    bash

python3.10 --version

如果显示Python 3.10的版本信息,则安装成功。

创建软链接:

为了方便使用,可以为Python 3.10和pip3.10创建软链接。

bash

sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/local/bin/python3.10  
sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/local/bin/pip3.10  
 
# 如果希望将python3.10作为默认的python3版本,可以覆盖系统默认的python3软链接(请谨慎操作,因为这可能会影响系统其他依赖Python的程序)  
sudo mv /usr/bin/python3 /usr/bin/python3.bak  # 备份原有的python3软链接  
sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/bin/python3  
 
# 同样地,也可以为pip3创建软链接  
sudo mv /usr/bin/pip3 /usr/bin/pip3.bak  # 备份原有的pip3软链接(如果存在)  

    sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/bin/pip3

四、注意事项

    备份重要文件:在进行任何修改之前,建议备份重要文件,以防万一。
    避免覆盖系统默认Python:尽量使用altinstall而不是install来安装Python新版本,以避免覆盖系统默认的Python版本。
    测试新安装的Python:安装完成后,务必测试新安装的Python和pip是否正常工作。

通过以上步骤,您可以在CentOS系统上成功安装Python 3.10环境,并与已有的Python 3.7环境共存。


http://www.kler.cn/a/326125.html

相关文章:

  • STM32保护内部FLASH
  • 【MQTT.fx 客户端接入 阿里云平台信息配置】
  • 《Python 网络爬虫》
  • 云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测
  • dns服务器
  • 基础IO2
  • 进程、线程、协程详解:并发编程的三大武器
  • websocket初识
  • 数据集-目标检测系列-兔子检测数据集 rabbit >> DataBall
  • 中国资产“超级星期四”之后,腰部中概股或成增长“黑马”
  • Linux云计算 |【第四阶段】PROJECT2-DAY1
  • 如何使用开发者工具捕获鼠标右键点击事件
  • Tensorflow2.0
  • Spring Boot 进阶-深入了解SpringBoot条件注解
  • VLAN与三层交换机的原理与配置
  • 基于单片机的小车行走加温湿度检测系统
  • 前端框架对比及选择:React、Vue、Angular的深度剖析
  • 图解C#高级教程(一):委托
  • 【MySQL】视图、用户和权限管理
  • JAVA内存模型!=JVM内存模型
  • UI设计师面试整理-工具和技术技能
  • 【大牛!】3DMAX城市交通插件CityTraffic使用方法详解
  • 关于vue2+uniapp+uview+vuex 私募基金项目小程序总结
  • 一文讲清CSS基础之浮动float原理
  • 关于宿主机功能正常docker容器重启后dns失效的解决办法
  • 江科大笔记—LED闪烁 LED流水灯 蜂鸣器