CentOS 7 安装 Python 3.X版本
由于Centos7默认安装了python2.7.5版本,因此想安装python 3.X版本就需要特殊处理。
详情可以参考南宫羽香的技术博客原文:https://www.cnblogs.com/lclq/p/5620196.html
和忧臣解读的技术博客原文:https://www.cnblogs.com/anxminise/p/9650206.html
一、准备阶段
1.查看是否已经安装Python
Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。
使用python -V命令查看一下是否安装Python:
然后查看一下Python可执行文件的位置:
进入到bin目录:
可以看到可执行文件python指向python2,python2又指向python2.7也就是说Python命令执行的系统预装的Python2.7。
要安装Python的其他版本先执行mv python python.bak命令备份python文件。
2.安装新版本的Python
下载Python新版本https://www.python.org/downloads/source/
可以看到截止到目前,最新版本为3.10.0版本是2121.10.4发布的。
下载.tar.xz包就可以了。其实下面的2个包其一都可以使用
Python-3.10.0.tgz (这个不是编译过的东西,不能解压之后直接使用)
Python-3.10.0.tar.xz (这个是pthon的源码)
将下载的tgz包通过Xftp等工具上传到Linux服务器。
注:下文中是用3.7.0版本作为示例的。
或者执行wget命令直接下载到服务器:
cd /home/ #回到用户目录
mkdir myhome #创建文件夹myhome
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz #下载3.7.0版本
tar -xvJf Python-3.7.0.tar.xz #解压缩
解压缩之后该目录下出现Python-3.7.0文件夹,进入到文件夹下执行编译安装。
二、安装阶段
1.安装编译相关工具
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
2.编译安装
mkdir /usr/local/python3 #创建编译安装目录
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
3.创建软连接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
4.验证是否成功
python3 -V
pip3 -V
---------------------------------------------------------------------------------------------------------------------------
华丽的分割线
---------------------------------------------------------------------------------------------------------------------------
三、其他相关
执行 ./configure --prefix=/usr/local/python/python3 命令。./configure命令执行完毕之后创建一个文件creating Makefile,供下面的make命令使用 执行make install之后就会把程序安装到我们指定的目录中去。
Configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放
在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
如果配置--prefix,如:
./configure --prefix=/usr/local/test
可以把所有资源文件放在/usr/local/test的路径中,不会杂乱。
用了—prefix选项的另一个好处是卸载软件或移植软件。当某个安装的软件不再需要时,只须简单的删除该安装目录,
就可以把软件卸载得干干净净;移植软件只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
当然要卸载程序,也可以在原来的make目录下用一次make uninstall,但前提是make文件指定过uninstall。
然后执行make、make install命令。
安装成功之后进入到python3文件夹可以看到Python的可执行文件目录、lib目录等相关目录。
执行ln -s /usr/local/python/python3/bin/python3 /usr/bin/python命令创建软连接。执行python -V查看Python是否安装成功。
安装成功:
3.修改yum配置文件
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5
因此修改yum配置文件(vi /usr/bin/yum)。
把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可。
因为yum使用python2,因此替换为python3后可能无法正常工作,继续使用这个python2.7.5因此修改yum配置文件(vi /usr/bin/yum)。把文件头部的#!/usr/bin/python改成#!/usr/bin/python2.7保存退出即可
CentOS 7 安装 Python 3.X版本的更多相关文章
- centos上安装python环境
1.安装python-pip 首先安装epel扩展源: yum -y install epel-release 更新完成之后,安装pip: yum -y install python- ...
- 【Linux】CentOS下升级Python和Pip版本全自动化py脚本
[Linux]CentOS下升级Python和Pip版本全自动化py脚本 CentOS7.6自带py2.7和py3.6 想要安装其它版本的话就要自己重新下载和编译py其它版本并且配置环境,主要是软链接 ...
- CentOS yum 安装LAMP PHP5.4版本
CentOS yum 安装LAMP PHP5.4版本 [日期:2015-06-04] 来源:Linux社区 作者:rogerzhanglijie [字体:大 中 小] Linux系统版本:C ...
- 在CentOS上安装Python
首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [root@nowamagic ~]# python -V Python 我们需要 ...
- centos 7安装python 3
linux-Centos7安装python3并与python2共存 1.查看是否已经安装Python CentOS 7.2 默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的 ...
- centos下安装python
下载网址:http://ftp.gnu.org/gnu/gdb/ 1.编译python必须安装开发工具 # yum groupinstall "Development tools" ...
- centos如何安装python库?
通过yum install安装,先解决yum不能安装python库的问题 yum install -y epel-release #先安装epel源,参考http://sharadchhetri. ...
- centos下 安装python相关
centos 安装python相关 python3 https://blog.csdn.net/tanxiaob/article/details/78725301 yum -y install zli ...
- 如何在CentOS上安装Tensorflow的gpu版本?
系统配置 系统版本: Centos7.6 语言: Python3.5(anaconda3 4.2) 框架: Tensorflow 安装依赖 sudo yum install openjdk-8-jdk ...
- Windows下安装Python 3.X 版本
一. Python下载 Python官方下载地址 演示下载的版本为Python 3.8.3 ,你可以根据自己的选择安装其他版本的Python 二. Python 安装 下载完安装包双击安装时出错(Wi ...
随机推荐
- 3 分钟把高质量 AI 知识库 FastGPT 装进企业微信
FastGPT V4 已经上线,直接冲上 GitHub Trending. 如果你还不知道 FastGPT 是什么,可以先去看看作者的介绍 使用 FastGPT 构建高质量 AI 知识库 非常多的企业 ...
- Solution Set -「CF 1539」
我是傻逼. 「CF 1539A」Contest Start Link. 答案是 \(\sum_{i=1}^{n-1}\min\{i,\lfloor\frac{t}{x}\rfloor\}\),等差数列 ...
- Solution -「CF 1303G」Sum of Prefix Sums
Description Link. 对于一棵树,选出一条链 \((u,v)\),把链上结点从 \(u\) 到 \(v\) 放成一个 长度 \(l\) 的数组,使得 \(\sum_{i=1}^{l}\s ...
- Linux 下 C语言 open() 和 fopen() 区别
Linux 下 C语言 open() 和 fopen() 区别 fopen() #include <stdio.h> FILE *fopen(const char *path, con ...
- Django框架——模板层
文章目录 1 模板层 一 模版简介 二 模版语法之变量 views.py html文件 三 模版之过滤器 语法: default length filesizeformat date slice tr ...
- PostgreSQL学习笔记-6.基础知识:ALTER、TRUNCATE 、View(视图)、TRANSACTION 事务、LOCK 锁
ALTER TABLE 命令 在 PostgreSQL 中,ALTER TABLE 命令用于添加,修改,删除一张已经存在表的列. 另外你也可以用 ALTER TABLE 命令添加和删除约束. 语法 用 ...
- 万字长文详解Java线程池面试题
王有志,一个分享硬核 Java 技术的互金摸鱼侠加入 Java 人的提桶跑路群:共同富裕的Java人 今天是<面霸的自我修养>第 6 篇文章,我们一起来看看面试中会问到哪些关于线程池的问题 ...
- 传纸条 luoguP1006
题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排坐成一个 mm 行 nn 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈 ...
- 数据结构与算法 | 深搜(DFS)与广搜(BFS)
深搜(DFS)与广搜(BFS) 在查找二叉树某个节点时,如果把二叉树所有节点理理解为解空间,待找到那个节点理解为满足特定条件的解,对此解答可以抽象描述为: 在解空间中搜索满足特定条件的解,这其实就是搜 ...
- CSP-2023 复赛游记
10.15 决定以后每天晚上都来. 洛天依也是. 10.16 想住 首旅京伦. 大巴车要求车况良好,保险齐全,进校后限速 20 km是什么鬼啊,新型速度单位. 距离最远的考区相距4公里 懂了,大巴车开 ...