1. CentOS7系统现有python版本

我们先来查看一下安装的CentOS 7操作系统中python的版本情况。直接在命令行上输入python:

[cao@localhost ~]$ python
Python 2.7.5 (default, Apr  2 2020, 13:16:51)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

可以看到,Centos7系统目前自带python的版本为2.7.5。

同时可以使用linux命令whereis python来查看python安装路径:

[cao@localhost ~]$ whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

鉴于python2版本已经得不到python社区的支持,而且大部分第三方库均支持python3(具体的说,有些库要求python3.5及其以上版本),因此在linux中使用python时还是需要升级到python3。

2. Python linux下载安装介质

这里的python3泛指python3.0以上版本,也就是非python2版本。不过受python语言版本的不断升级,在使用python3版本时我们一方面要使用较新的版本,同时也考虑其稳定性,因此这里我们将下载安装和使用python3.7版本。

下载方式有两种:可以直接在虚拟机里使用linux命令wget来下载,或者先从python官网上下载python linux版本,然后ftp上传到虚拟机里。两种方式对应的python程序下载地址均为:https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

需要提示的是,python的下载安装建议都使用超级管理员root账户来操作。

步骤1:先切换为root用户,使用yum工具安装wget

[cao@localhost ~]$ su -
Password:
Last login: Sat Jun 13 14:02:57 CST 2020 on tty1
[root@localhost ~]# yum install -y wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.huaweicloud.com* extras: mirrors.huaweicloud.com* updates: mirrors.huaweicloud.com
……  (省略中间过程)
Package wget-1.14-18.el7_6.1.x86_64 already installed and latest version

步骤2:使用wget来下载python3.7

[root@localhost ~]# wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
--2020-06-14 05:06:17--  https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
Resolving www.python.org (www.python.org)... 151.101.228.223, 2a04:4e42:1a::223
Connecting to www.python.org (www.python.org)|151.101.228.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22897802 (22M) [application/octet-stream]
Saving to: ‘Python-3.7.2.tgz’
100%[======================================>] 22,897,802  73.2KB/s   in 3m 59s
2020-06-14 05:10:18 (93.8 KB/s) - ‘Python-3.7.2.tgz’ saved [22897802/22897802]
[root@localhost ~]# ll
total 22368
-rw-------. 1 root root     1431 Jun 10 21:05 anaconda-ks.cfg
-rw-r--r--. 1 root root 22897802 Dec 24  2018 Python-3.7.2.tgz

如果执行wget没有响应,说明是yum源的问题,需要替换centos默认自带的源。

首先备份自带的repo:

[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak

然后使用curl命令下载网易镜像源:

[root@localhost yum.repos.d]# curl http://mirrors.163.com/.help/CentOS7-Base-163.repo -o CentOS7-Base-163.repo% Total    % Received % Xferd  Average Speed   Time    Time     Time  CurrentDload  Upload   Total   Spent    Left  Speed
100  1572  100  1572    0     0  13979      0 --:--:-- --:--:-- --:--:-- 14035

接下来运行makecache命令生成缓存:

[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache

升级yum操作:

[root@localhost yum.repos.d]# yum update –y

然后重新下载安装wget:

[root@localhost yum.repos.d]# yum install -y wget

3. Centos系统安装python3

首先解压python安装包:

[root@localhost ~]# tar -zxf Python-3.7.2.tgz
[root@localhost ~]# ll
total 22372
-rw-------.  1 root root     1431 Jun 10 21:05 anaconda-ks.cfg
drwxr-xr-x. 18  501  501     4096 Dec 24  2018 Python-3.7.2
-rw-r--r--.  1 root root 22897802 Dec 24  2018 Python-3.7.2.tgz

然后进入解压目录进行配置:

[root@localhost Python-3.7.2]# ./configure --with-ssl

执行编译和安装:

[root@localhost Python-3.7.2]# make
[root@localhost Python-3.7.2]# make install

上述四步一步步执行即可,正常情况下不会报错,如果在make install执行后出现了 ModuleNotFoundError: No module named ‘_ctypes’ 错误,则安装一下依赖库:

yum –y install libffi-devel tk-devel

安装好后,重新执行make intall即可。

4. Python3配置连接

4.1 设置python3的软连接

可以先使用whereis来查看python3通过编译安装后存放的路径。可以看出都在usr/local目录下:

[root@localhost ~]# whereis python3
python3: /usr/lib/python3.7 /usr/local/bin/python3.7m /usr/local/bin/python3.7 /usr/local/bin/python3.7m-config /usr/local/bin/python3 /usr/local/bin/python3.7-config /usr/local/lib/python3.7

然后进入/usr/bin目录先删除原有指向python2的软连接python,然后将python3.7与python建立软连接。

进入/usr/bin目录:

[root@ localhost bin]# pwd
/usr/bin

将原有python执行程序备份:

[root@ localhost bin]# mv python python-bk

添加python3.7的软连接:

[root@ localhost bin]# ln -s /usr/local/bin/python3.7 /usr/bin/python

4.2 验证python版本

验证python现在的版本:

[root@ localhost bin]# python -V
Python 3.7.2

退出root账户,在普通用户终端输入python:

[cao@localhost ~]$ python
Python 3.7.2 (default, Jun 14 2020, 05:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("hello")
hello

可以看到python3已经可以正常使用了。

4.3 解决yum安装解析问题

因为yum采用python作为命令解释器,现在设置了python3.7为/usr/bin/python的软连接,因此再运行yum时会报错:

[root@big01 ~]# yumFile "/bin/yum", line 30except KeyboardInterrupt, e:^
SyntaxError: invalid syntax

此时需要取修改yum对应的解释器:进入root账户,编辑 vi /usr/bin/yum后:

将第一行语句#!/usr/bin/python 修改为 #!/usr/bin/python2.7

同时修改urlgrabber-ext-down 文件即: vi /usr/libexec/urlgrabber-ext-down,同样将第一行语句#!/usr/bin/python 修改为 #!/usr/bin/python2.7即可。

上述两个文件修改后,再来运行yum应该就正常了。

centos 切换用户_Centos7系统切换Python2到Python3.x相关推荐

  1. su oracle : 只切换用户,而不切换环境;就是说切到oracle用户后,使用的依旧是root的环境。 su - oracle :同时切换用户和环境

    su oracle : 只切换用户,而不切换环境:就是说切到oracle用户后,使用的依旧是root的环境. su - oracle :同时切换用户和环境 su   oracle:不会执行oracle ...

  2. git如何切换用户_git切换用户、多用户切换的正确方式 git commit和git push 切换用户...

    由于最近自己搭建了一个GITLAB服务器,为了测试权限.所以会涉及到使用不用的用户进行git commit 和git push 操作. 通过百度搜索以后,发现绝大部分给的答案是: git config ...

  3. 如何在linux下切换用户,linux如何切换用户?linux切换用户的方法

    linux如何切换用户?linux是一款适用于开发者开发软件的操作系统,不少刚接触linux系统的用户在使用过中会遇到一些问题,最近就有用户反应该如何切换linux用户的问题,关于linux切换用户的 ...

  4. linux切换用户时 su-,Linux切换用户(su)

    Linux切换用户(su)教程 普通用户之间切换以及普通用户切换至 root 用户,都需要知晓对方的密码,只有正确输入密码,才能实现切换:从 root 用户切换至其他用户,无需知晓对方密码,直接可切换 ...

  5. 计算机输入法切换用户,W7系统输入法切换的快捷键怎么修改

    输入法是我们在使用电脑过程中必不可少的功能,无论是工作还是聊天,都离不开输入法.一般情况下是Ctrl+Shift组合键来切换,最近,有w7系统的用户,使用快捷键Ctrl+Shift组合键来切换时,发现 ...

  6. 服务器系统切换用户,linux系统如何切换到root用户_网站服务器运行维护,linux,root...

    windows系统如何强制关机?_网站服务器运行维护 windows系统强制关机的方法:1.Win系统笔记本,找到电源键,长按不放直到屏幕完全变黑,松开手指:2.台式机,找到电源键,用手指长按,直到电 ...

  7. python2和3安装后怎样切换 mac_Mac下安装配置Python2和Python3并相互切换使用

    mac os 以前没有使用过,这次使用了一把,的确还是比较不顺手的,估计从今以后,就要把平台逐渐切换到mac了.今后好的文章,专门会开一个macos专栏,专门记录macos的使用过程中的心得,体会,以 ...

  8. python3.6 3.7共存_[转]CentOS 7安装Python3.6过程(让linux系统共存Python2和Python3环境)...

    CentOS 7系统自带了python2,不过可以不用2版本,直接使用python3运行python脚本就可以,但是千万别去动系统自带的python2,因为有程序依赖目前的python2环境,比如yu ...

  9. 计算机快捷键的切换用户,电脑如何切换屏幕_电脑怎么切换另一个界面快捷键...

    在使用电脑的时候,总是需要运行各种程序,这时难免就会出现各个界面的来回切换,对于一些不懂的切换屏幕快捷的用户来说就需要通过点击程序图标才可以,这样就显得非常麻烦,那么电脑如何切换屏幕呢?接下来小编就来 ...

最新文章

  1. 人工智能落地,商业化比技术更重要
  2. MVC中执行成功弹出对话框
  3. 全麦吐司和普通吐司的区别_全麦面包和普通面包的区别
  4. python数据分析类库_python数据分析类库系列-Pandas入门之数据结构Series
  5. 计算机专业伦理总结,《计算机伦理学》节译实践报告
  6. Spring注释,我从来没有机会使用第1部分:@primary
  7. 【开源.NET】 分享一个前后端分离的轻量级内容管理框架
  8. 项目工时估算PERT法
  9. python数据可视化例子
  10. 操作系统中的FCFS(First Come First Served)先来先服务算法,java实现
  11. 《苹果Mac OS X 10.6 Snow Leopard雪豹操作系统8BT下载地址》
  12. 外贸ERP软件之工贸一体企业解决方案
  13. c语言 常量表达式,常量表达式(什么叫常量表达式)
  14. python使用126发邮件代码
  15. 十三、注解(高琪java300集+java从入门到精通笔记)
  16. 云计算机是什么原理,云电脑的运行原理是什么?
  17. 基于下界函数的最优化
  18. 分析师:一季度特斯拉电动汽车产量和交付量将低于华尔街预期
  19. 12.权重衰退+QA
  20. web前端入门到实战:css绘制各种形状图形

热门文章

  1. mybatis plus 批量更新数据_Mybatis 多字段组合唯一 并批量添加不重复数据
  2. 打包图片上传cdn_Media Buy之Landing Page的资源文件CDN部署方案
  3. dev-mysql_GitHub - intergrate-dev/mysql-elasticsearch
  4. 方法 手写promise_手写Promise类
  5. Layui--颜色选择器layui.colorpicker
  6. 微信公众号JSSDK中的wx.ready()和wx.error()问题
  7. Linux下的whoami命令
  8. python字符串函数的使用方法_python字符串的操作函数
  9. canvas刷新_【前端冷知识】Canvas 滤镜的性能优化
  10. CentOS7下RabbitMq安装和开机自启动配置