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

centos7 离线安装python3 保留python2

一、事前准备:
(1)查看centos具体版本

cat /etc/redhat-release

CentOS Linux release 7.4.1708 (Core)
(2)查看linux中当前python版本
centos7 默认安装python2.7.5
(3)查看python3的依赖,已有哪些,缺少哪些
使用如下命令,可以查看yum是否已经安装了某些包,比如zlib

rpm -qa | grep zlib

查看资料列出了python3可能需要的依赖列表,在下表的左列,然后使用上述命令进行查询,当前的服务器是否安装过,在右列统计出安装与否的情况


python3安装-依赖列表.png

然后准备“无”的依赖包rpm文件(到(5)的网站中下载),压缩成tar文件
(特别说明:python3可能不需要这么多依赖,因为我只能离线操作,上传文件的机会有限,所以尽可能多上传一些,之前没有安装任何依赖的时候,直接安装python3,提示编译过程缺少zlib相关依赖)

(4)查看是否有pip
(5)根据当前centos的具体版本,准备下载python3依赖的资源网站

https://vault.centos.org/7.4.1708/os/x86_64/Packages/

(6)python2、3共存的方法
修改yum配置文件中的python为python2,并将python3的安装路径软链接到python
(7)准备python3安装包
这里要安装的是python3.6.2,去官网下载压缩包即可
二、操作步骤:
(1)选定安装路径
暂定/usr/local/python3
需要提前在/usr/local/下

mkdir python3

(2)上传安装包
将python3.6.2安装压缩包和python3依赖压缩包上传到/usr/local/python3
(3)修改原python命令
将下面这两个文件首行的python改成python2,以区别python2、3

vi /usr/bin/yum
vi /usr/libexec/urlgrabber-ext-down

(4)安装依赖包
如python3依赖包的名称为package_lack1.tar

cd /usr/local/python3
tar -xf package_lack1.tar
cd package_lack1
rpm -Uvh *.rpm --nodeps --force

(5)安装python3

cd /usr/local/python3
tar -xf Python-3.6.2.tgz
cd Python-3.6.2
./configure --prefix=/usr/local/python3/ --enable-shared
make && make install

(tips1:--prefix参数是安装路径“/usr/local/python3”,如果安装路径不是这个,请根据自己的情况修改。
tips2:--enable-shared如果不加 后面可能报错“python3: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory”,手动复制文件即可“cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64/”)
(6)建立软链接

ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

(tips3:如果报错“ln: failed to create symbolic link 鈥usr/bin/python鈥 File exists”,就“rm -rf /usr/bin/python”然后再进行上面两步的操作)


python3安装-建立软链接.png

五周年了,加油吧!()

最后编辑于:2025-04-21 10:56:38


喜欢的朋友记得点赞、收藏、关注哦!!!

http://www.xdnf.cn/news/243091.html

相关文章:

  • 华为eNSP:多区域集成IS-IS
  • 数据升降级:医疗数据的“时空穿梭“系统工程(分析与架构篇)
  • Linux btop 使用教程
  • 三元运算符与扩展运算符
  • Java 中的 CopyOnWriteArrayList
  • 11.多边形的三角剖分 (Triangulation) : 画廊问题
  • Postgresql源码(145)优化器nestloop参数化路径评估不准问题分析
  • WSGI(Web Server Gateway Interface)服务器
  • Seata服务端同步提交事务核心源码解析
  • MySQL零基础入门:Ubuntu环境安装与操作精解
  • 深度探索DeepSeek:从架构设计到性能优化的实战指南
  • WPF嵌入webapi服务器,充当微服务角色
  • ActiveMQ 性能优化与网络配置实战(二)
  • 使用Python和Pandas实现的Snowflake权限检查与SQL生成用于IT审计
  • 利用无事务方式插入数据库解决并发插入问题
  • windows系统搭建自己的ftp服务器,保姆级教程(用户验证+无验证)
  • OkHttp3.X 工具类封装:链式调用,支持HTTPS、重试、文件上传【内含常用设计模式设计示例】
  • 深度学习基础--目标检测入门简介
  • PHP之CURL通过header传参数及接收
  • day12:遗传算法及常见优化算法分享
  • 指针与算法的双人舞:蓝桥杯两道趣味题的降维打击
  • Windows 查看电脑是否插拔过U盘
  • 【业务领域】电脑主板芯片电路结构
  • 【音视频】ffplay数据结构分析
  • C++中常用的十大排序方法之1——冒泡排序
  • 内存安全的攻防战:工具链与语言特性的协同突围
  • SIEMENS PLC程序代码 赋值 + 判断
  • 数值求解Eikonal方程的方法及开源实现
  • 25.4.30数据结构|并查集 路径压缩
  • 《汉诺塔问题的C语言实现》