CentOS系统如何将默认Python版本从2升级到3
一、了解现状:CentOS中的Python环境
在CentOS系统中,如果已经安装了yum,那么系统中通常已经存在某个版本的Python 2。在命令行中直接输入python命令,你大概率会看到Python 2的环境被唤醒:
免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
[root@instance-hrnebyqu src]# python
Python 2.7.5 (default, Apr 11 2018, 07:36:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
我们的目标很明确:将python这个shell命令指向Python 3的版本。实现路径通常分为两步:先安装Python 3,然后将python命令链接到新安装的Python 3上。
配置环境与别名
假设Python 3的安装路径已经添加到了~/.bash_profile文件的PATH环境变量中,那么通常不需要再额外修改环境变量。如果尚未添加,则需要执行以下操作:
vim ~/.bash_profile
将Python 3的可执行文件路径(例如/usr/local/python3/bin)添加到PATH中,然后重新加载这个配置文件:
source ~/.bash_profile
接下来,修改~/.bashrc文件来设置命令别名(alias),这是关键的一步:
vim ~/.bashrc
在文件中添加类似下面的几行,明确指定python2、python3的路径,并将python命令指向python3:
alias python2=/usr/bin/python
alias python3=/usr/local/python3/bin/python3
alias python=/usr/local/python3/bin/python3
这样一来,在命令行中再次输入python,启动的就是Python 3的环境了:
[root@instance-hrnebyqu src]# python
Python 3.6.6 (default, Jul 4 2019, 12:00:29)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
一个至关重要的注意事项
这里必须划重点:在CentOS系统中,用于软件包管理的yum命令,其底层是依赖Python作为解释器的,并且默认使用的是Python 2。如果粗暴地将全局python命令切换到Python 3,很可能会因为Python 2与Python 3之间的语法兼容性问题,导致yum命令无法正常工作。这是操作前必须警惕的风险点。
如何排查与修复yum问题
yum的主程序文件位于:
/usr/bin/yum
我们可以查看一下这个文件的内容:
#!/usr/bin/python
import sys
try:
import yum
except ImportError:
print >> sys.stderr, """\
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:
%s
Please install a package which provides this module, or
verify that the module is installed correctly.
It's possible that the above module doesn't match the
current version of Python, which is:
%s
If you cannot solve this problem yourself, please go to
the yum faq at:
https://yum.baseurl.org/wiki/Faq""" % (sys.exc_value, sys.version)
sys.exit(1)
sys.path.insert(0, '/usr/share/yum-cli')
try:
import yummain
yummain.user_main(sys.argv[1:], exit_code=True)
except KeyboardInterrupt, e:
注意看文件的第一行:#!/usr/bin/python。这行“shebang”指明了执行此脚本的解释器路径。如果因为修改了全局python的指向而导致yum报错,最直接的修复方法就是将这一行修改为系统中Python 2解释器的具体路径,例如#!/usr/bin/python2.7。这样就能确保yum继续在Python 2环境下稳定运行,而不受全局别名设置的影响。
热门专题
热门推荐
Poe交换机带载后重启:是故障,还是系统在“自救”? 不少朋友遇到过这个头疼的问题:PoE交换机一接上设备就重启。其实,这本质上不是设备坏了,而是供电系统一套精密的自我保护机制在起作用。当负载接入的瞬间,如果系统检测到功耗超标、供电不稳等情况,就会主动触发复位,防止硬件受损。这正是IEEE 802
高性价比电饼铛:精准匹配、扎实可靠、真正省心 挑选一款高性价比的电饼铛,核心其实很明确:功能要精准匹配你的真实需求,材质工艺必须扎实可靠,细节设计能让你每天用着都省心。它追求的绝不是单纯的便宜或者参数漂亮,而是每一分钱都花在刀刃上。比如,2100W级的稳定火力保证了煎烤效率不打折;0氟不粘涂层配合蜂
红米K30 5G动态壁纸联网机制全解析 关于红米K30 5G的动态壁纸是否需要一直联网,答案是:完全没必要。这玩意儿用起来其实很“懂事”,它只在你第一次上手和偶尔想换新的时候,才需要网络搭把手。 其背后的逻辑很清晰:手机搭载的MIUI系统,把所有酷炫的动态壁纸资源都放在了小米官方的“云端仓库”里。所
vivo Y35桌面时间不显示?别急,这事儿有解 不少vivo Y35用户可能都遇到过这个情况:一觉醒来,或者换个主题之后,主屏幕上那个熟悉的“时间”不见了。先别急着怀疑手机坏了,事实是,超过八成的类似问题,根源其实很简单——时间组件压根没被“请”上桌面,或者相关的自动设置被无意中关闭了。作为一台搭
英雄联盟手游杰斯新皮肤外观设计酷炫,充满科技感。技能特效以蓝色能量为主,视觉效果震撼且辨识度高。实战中技能清晰、手感流畅,能提升操作自信与战场表现。整体而言,该皮肤在视觉、特效与实战体验上均表现优异,值得玩家入手。





