CentOS7下安装Python3

164 小禅师 编程笔记

CentOs7 系统自带python2.7版本,系统某些程序又依赖2不能简单卸载,那就再装一个3吧。


1:安装必要工具首先,我们需要安装yum-utils工具来管理软件仓库和扩展包。以管理员权限运行以下命令:

$sudo yum install yum-utils

CentOS7下安装Python3

2:构建环境和安装依赖项

使用yum-builddep命令为Python 3构建环境并安装所需的软件依赖项。运行以下命令:

$ sudo yum-builddep python

CentOS7下安装Python3

3:下载Python 3源代码包

下载Python 3的源代码包。你可以从Python官方网站的FTP目录中找到源代码包(下载速度较慢)。这里我们以Python 3.9为例进行演示(华为镜像链接)。

运行以下命令:

$ curl -O https://mirrors.huaweicloud.com/python/3.9.0/Python-3.9.0.tgz

CentOS7下安装Python3


4:解压缩源代码包并进入目录

解压缩下载的源代码包并进入源代码目录。运行以下命令:

$ tar xf Python-3.5.0.tgz
$ cd Python-3.5.0


5:运行配置脚本

运行配置脚本,该脚本将准备编译环境。运行以下命令:

$ ./configure


6:编译和安装Python

使用make命令编译源代码并安装Python。运行以下命令:

$ make
$ sudo make install

现在已成功在CentOS系统中安装了Python 3.x。可以使用以下命令检查Python版本:

$ python3 -V

因为系统自带版本2,想把Python3作为python的默认版本,需要修改一下 bashrc 文件,增加一行alias参数,

由于CentOS 7建议不要动/etc/bashrc文件,而是把用户自定义的配置放入/etc/profile.d/目录中,具体方法为:

vi /etc/profile.d/python.sh

输入alias参数 alias python=’/usr/local/bin/python3.5’,保存退出

如果非root用户创建的文件需要注意设置权限


chmod 755 /etc/profile.d/python.sh

重启会话使配置生效

source /etc/profile.d/python.sh


声明
本人日常收集记录、分享的内容,只供参考之用。
如对文章中提到您的产品感到不满,请与我联系。
联系Q Q 1318686166   Email: alex@dogll.com
THE END
相关文章
评论列表
  • 老头爱学习
    老头爱学习 Jun 21日, 2023 @ 02:39 am 有一个问题,《父与子编程之旅》那本书,第11章嵌套循环中,练习题中【动手试一试】第2题: 【Countdown timer: How many seconds? 4 4 * * * * 3 * * * 2 * * 1 * BLAST OFF!】 答案中: import time seconds = int(input("Countdown timer: How many seconds? ")) for i in range (seconds, 0, -1): print(i,end=" ") for seconds in range(i): print("*",end=" ") print() time.sleep(1) print("BLAST OFF!") 我的问题是:内循环:for seconds in range(i)这句不能明白,我尝试更换变量 写成:for j in range(seconds)但输出后打印不正确。我不能明白为什么。内循环和外循环,必须有相同变量吗?书里的其他例题我都明白,也并没有限制过变量。请问您能否帮忙讲解? 回复
  • 小火柴
    小火柴 May 15日, 2023 @ 01:00 pm 已经看过《趣学Python——教孩子学编程》Python for Kids, Jason R Briggs ,后续想要深入学习Python推荐什么书呀?深入到使用TensorFlow框架 回复
  • Migrate
    Migrate May 12日, 2023 @ 10:38 am 不是经常有人说“基础不牢,地动山摇吗”?作为转行的人,不知道到底该不该死磕底层比如操作系统这些知识 回复
  • 咕咕
    咕咕 May 19日, 2023 @ 06:32 pm 刚才尝试了下发现,涉及到有0,比如:range(0)和[0],输出print(“*”)结果完全不一样。又去终端里python2.7看了下, >>> range(0) [] >>> [0] [0] 突然明白了。。。。 range(起始,截止,步长),如果我不标准的只写起始数:比如0或负数,就会返回空值[]None,对吗? 好有趣~~~~~ 回复
发布评论
验证码
提交