当前位置: 首页 > 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


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

相关文章:

  • 使用Set和Map解题思路
  • 25.4.30数据结构|并查集 路径压缩
  • 企业经营系统分类及功能详解
  • Java状态机实战:打造高扩展性的订单流程引擎(含源码详解与快照设计)
  • Memory Bank 不够用?Cline 全新 CRCT:省 token,依赖关系自行追踪
  • OpenGL-ES 学习(13) ---- Shader 编译和程序对象
  • 生产级RAG系统一些经验总结
  • 构建强大垂直领域AI数据能力
  • C++11新特性_自动类型推导_decltype
  • 第3篇:请求参数处理与数据校验
  • Narendra自适应控制器设计
  • 掉馅饼,八分之一到二分之一:《分析模式》漫谈59
  • Linux架构篇、第1章_02源码编译安装Apache HTTP Server 最新稳定版本是 2.4.62
  • 笔试专题(十三)
  • 59常用控件_QComboBox的使用
  • 渗透测试中的那些“水洞”:分析与防御
  • 【2025五一数学建模竞赛A题】 支路车流量推测问题|建模过程+完整代码论文全解全析
  • 2025五一数学建模C题完整分析论文(共36页)(含模型、可运行代码、数据)
  • 段永平浙大访谈精华:长期主义的知行合一
  • socket-IO复用技术
  • 首开股份:一季度净利润亏损约10.79亿元,签约金额63.9亿元
  • 国铁集团去年收入12830亿元增3%,全年铁路运输利润总额创新高
  • 平安资管总经理罗水权因个人工作原因辞职
  • 阿斯利康中国区一季度收入增5%,或面临最高800万美元新罚单
  • “铁血防守”制造8年最快丢球,恐惧中的阿森纳什么也做不了
  • 坚持科技创新引领,赢得未来发展新优势