Centos 安装 python3.x 为默认

centos,安装,python3,默认 · 浏览次数 : 358

小编点评

**代码安装** ```bash # 下载需求版本 wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz[root@TestServer ~] # 安装依赖 pip install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel wget gcc make # 设置默认python版本 mv /usr/bin/python /usr/bin/python_bak[root@TestServer ~] ln -s /usr/local/src/python3.9/bin/python3 /usr/bin/python[root@TestServer ~] ln -s /usr/local/src/python3.9/bin/python3 /usr/bin/python3[root@TestServer ~] ls -l /usr/bin/python*lrwxrwxrwx 1 root root 36 Apr 24 16:23 /usr/bin/python -> /usr/local/src/python3.9/bin/python3lrwxrwxrwx. 1 root root 9 Oct 8 2022 /usr/bin/python2 -> python2.7-rwxr-xr-x. 1 root root 7144 Oct 14 2020 /usr/bin/python2.7lrwxrwxrwx 1 root root 36 Apr 24 16:23 /usr/bin/python3 -> /usr/local/src/python3.9/bin/python3lrwxrwxrwx. 1 root root 7 Oct 8 2022 /usr/bin/python_bak -> python2[root@TestServer ~]# python -VPython 3.9.16[root@TestServer ~]# python2 -VPython 2.7.5[root@TestServer ~]# python3 -VPython 3.9.16 ``` **排版** ```bash # 设置排版 echo -p ' # 使用yum安装 ' ``` **代码运行** ```bash # 运行代码 python3 main.py ```

正文

CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x。但由于python2.x是系统集成的,很多命令都是要基于python2.x,比如:yum。因此在更新 Python 时,建议新旧版本共存。

当前初始环境

# 该系统为最小化安装
[root@TestServer ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@TestServer ~]# uname -r
3.10.0-1160.el7.x86_64

[root@TestServer ~]# python
Python 2.7.5 (default, Oct 14 2020, 14:45:30) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[root@TestServer ~]# python -V
Python 2.7.5
[root@TestServer ~]# 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

centos7安装python3有两种方式:

  • yum安装,简单方便,但是版本受限
  • 源码安装,较yum安装复杂一点,可安装官方任意版本

YUM安装

  • 自带Python版本:2.7.5
  • 安装Python版本:3.6.8
# 安装epel源,python3在默认的源中是没有的
[root@TestServer ~]# yum install epel-release -y
# 查看python3版本,根据查到python3的版本来安装,随着python版本更新,epel源中的版本也可能会出现更高版本的python
[root@TestServer ~]# yum search python3        //看到目前有python3.4,python3.6两个版本可以安装
[root@TestServer ~]# yum install python36 -y
# 检查安装结果
[root@TestServer ~]# rpm -qa | grep python3
python3-pip-9.0.3-8.el7.noarch
python3-libs-3.6.8-18.el7.x86_64
python3-setuptools-39.2.0-10.el7.noarch
python3-3.6.8-18.el7.x86_64
[root@TestServer ~]# rpm -ql python3-3.6.8-18.el7.x86_64
/usr/bin/pydoc3
/usr/bin/pydoc3.6
/usr/bin/python3
/usr/bin/python3.6
/usr/bin/python3.6m
/usr/bin/pyvenv
/usr/bin/pyvenv-3.6
/usr/share/doc/python3-3.6.8
/usr/share/doc/python3-3.6.8/README.rst
/usr/share/licenses/python3-3.6.8
/usr/share/licenses/python3-3.6.8/LICENSE
/usr/share/man/man1/python3.1.gz
/usr/share/man/man1/python3.6.1.gz

# 设置默认python版本为python-3.6.8
[root@TestServer ~]# mv /usr/bin/python /usr/bin/python_bak
[root@TestServer ~]# ln -s /usr/bin/python3 /usr/bin/python
[root@TestServer ~]# ls -l /usr/bin/python*
lrwxrwxrwx  1 root root    16 Apr 24 11:57 /usr/bin/python -> /usr/bin/python3
lrwxrwxrwx. 1 root root     9 Oct  8  2022 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root  7144 Oct 14  2020 /usr/bin/python2.7
lrwxrwxrwx  1 root root     9 Apr 24 11:30 /usr/bin/python3 -> python3.6
-rwxr-xr-x  2 root root 11328 Nov 17  2020 /usr/bin/python3.6
-rwxr-xr-x  2 root root 11328 Nov 17  2020 /usr/bin/python3.6m
lrwxrwxrwx. 1 root root     7 Oct  8  2022 /usr/bin/python_bak -> python2

[root@TestServer ~]# python -V
Python 3.6.8
[root@TestServer ~]# python2 -V
Python 2.7.5
[root@TestServer ~]# python3 -V
Python 3.6.8

# ========== 无法使用yum =============
[root@TestServer ~]# yum install net-tools -y
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

# 解决方法,仅修改以下两文件的第一行
[root@TestServer ~]# vim /usr/bin/yum
#!/usr/bin/python  修改为---> #!/usr/bin/python2

[root@TestServer ~]# vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python  修改为---> #!/usr/bin/python2
  • 另外,系统默认的python2.7是没有pip工具的,需要的话,同样安装pip工具。
  • pip工具也是分python2和python3的,可以共存,下载的包不能共享,即使用pip3下载的包只能在python3中使用,无法在python2.7中使用。
[root@TestServer ~]# yum install python2-pip -y

[root@TestServer ~]# mv /usr/bin/pip /usr/bin/pip_bak
[root@TestServer ~]# ln -s /usr/bin/pip3 /usr/bin/pip
[root@TestServer ~]# ls -l /usr/bin/pip*
lrwxrwxrwx 1 root root  13 Apr 24 15:20 /usr/bin/pip -> /usr/bin/pip3
-rwxr-xr-x 1 root root 284 Sep  3  2020 /usr/bin/pip2
-rwxr-xr-x 1 root root 288 Sep  3  2020 /usr/bin/pip2.7
-rwxr-xr-x 1 root root 407 Oct 14  2020 /usr/bin/pip3
lrwxrwxrwx 1 root root   9 Apr 24 14:46 /usr/bin/pip-3 -> ./pip-3.6
lrwxrwxrwx 1 root root   8 Apr 24 14:46 /usr/bin/pip-3.6 -> ./pip3.6
-rwxr-xr-x 1 root root 407 Oct 14  2020 /usr/bin/pip3.6
-rwxr-xr-x 1 root root 282 Sep  3  2020 /usr/bin/pip_bak

[root@TestServer ~]# pip -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)
[root@TestServer ~]# pip2 -V
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
[root@TestServer ~]# pip3 -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

注意:Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。

源码安装

Centos7系统恢复快照至初始环境。

  • 自带Python版本:2.7.5
  • 安装Python版本:3.9.16

首先去python官网下载页面,下载需要的稳定版python3源码

目前最新版本为:Python 3.11.3

# 安装依赖
[root@TestServer ~]# yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel wget gcc make
# 下载需求版本
[root@TestServer ~]# wget https://www.python.org/ftp/python/3.9.16/Python-3.9.16.tgz
[root@TestServer ~]# tar -xf Python-3.9.16.tgz
[root@TestServer ~]# cd Python-3.9.16
[root@TestServer Python-3.9.16]# ./configure --prefix=/usr/local/python3.9
[root@TestServer Python-3.9.16]# make && make install

# 设置默认python版本为 python-3.9.16
[root@TestServer ~]# mv /usr/bin/python /usr/bin/python_bak
[root@TestServer ~]# ln -s /usr/local/src/python3.9/bin/python3 /usr/bin/python
[root@TestServer ~]# ln -s /usr/local/src/python3.9/bin/python3 /usr/bin/python3
[root@TestServer ~]# ls -l /usr/bin/python*
lrwxrwxrwx  1 root root   36 Apr 24 16:23 /usr/bin/python -> /usr/local/src/python3.9/bin/python3
lrwxrwxrwx. 1 root root    9 Oct  8  2022 /usr/bin/python2 -> python2.7
-rwxr-xr-x. 1 root root 7144 Oct 14  2020 /usr/bin/python2.7
lrwxrwxrwx  1 root root   36 Apr 24 16:23 /usr/bin/python3 -> /usr/local/src/python3.9/bin/python3
lrwxrwxrwx. 1 root root    7 Oct  8  2022 /usr/bin/python_bak -> python2

[root@TestServer ~]# python -V
Python 3.9.16
[root@TestServer ~]# python2 -V
Python 2.7.5
[root@TestServer ~]# python3 -V
Python 3.9.16

# ========== 无法使用yum =============
[root@TestServer ~]# yum list
  File "/usr/bin/yum", line 30
    except KeyboardInterrupt, e:
                            ^
SyntaxError: invalid syntax

# 解决方法,仅修改以下两文件的第一行
[root@TestServer ~]# vim /usr/bin/yum
#!/usr/bin/python  修改为---> #!/usr/bin/python2

[root@TestServer ~]# vim /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python  修改为---> #!/usr/bin/python2

与Centos 安装 python3.x 为默认相似的内容:

Centos 安装 python3.x 为默认

CentOS 7 中默认安装了 Python,但是版本是2.x的,由于2020年python2.x将停止更新,因此需要将版本升级至3.x。但由于python2.x是系统集成的,很多命令都是要基于python2.x,比如:yum。因此在更新 Python 时,建议新旧版本共存。 当前初始环境 # 该系

[转帖]The necessary bits to build these optional modules were not found: _uuid _bz2 _curse _curses_panel

在安装Python3.7可能遇到如题的错误,只需安装uuid库就可以 ubuntu下安装uuid链接库 sudo apt-get install uuid-dev CentOS yum install libuuid-devel 对于以下的问题 The necessary bits to build

[转帖]Linux下编译安装配置python3.9

Linux版本:CentOS-7.8-x86_64-Minimal-2003 操作用户:root (1)依赖包安装: 如果是Linux的minimal系统,需要安装: yum install -y vim wget tftp lrzsz bzip2 zip unzip net-tools bind-

Python学习之四_部分battery的学习

Python学习之四_部分battery的学习 CentOS升级pip的方法 yum install python3 之后, 一般centos的版本都很低, 有时候很多module 是无法安装的. 一般可以通过他进行升级: pip3 install -U pip 注意如果无法升级, 可以先这样处理

[转帖]在 CentOS 7 上安装并配置 Python 3.6环境

https://www.jianshu.com/p/b978e46de442 拖了很久没有更新,抱歉啦~ 今天受邀写篇如何在 CentOS 7 上配置 Python 3 环境的文章。往常我都选择直接把我早年写的一篇文章《源码编译MongoDB》丢过去,让他们看其中的源码编译 Python 那一节,不

[转帖]linux下python环境安装缺少库, The necessary bits to build these optional modules were not found

每次linux安裝python 環境,总是遇到缺少相关依赖的问题,安装一次查一次,醉醉的,这次还是做个备忘吧。 在centos 安装 缺少库名称安装命令_uuidyum install libuuid-develreadlineyum install readline-devel_tkinteryu

FreeSWITCH添加h264编码及pcap视频提取

操作系统 :CentOS 7.6_x64、Windows 10_x64 FreeSWITCH版本 :1.10.9 Python版本:3.9.2 一、启用h264相关模块 这里以 mod_openh264 为例进行演示。 1、安装open_h264库 获取 open_h264 源码: git clon

CentOS7下搭建JumpServer(v2.28.6) 堡垒机

JumpServer 部署架构图 JumpServer 功能架构图 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。 JumpServer 使用 Python 开发,配备了业界领先的 Web Terminal 方案,交互界面美观、用户体验好。 JumpServ

[转帖]Centos 7.6 安装部署 openGauss 2.0 企业版 HA

https://www.modb.pro/db/567253?utm_source=index_ori 一、安装环境设置 1.1 硬件环境 名称最低配置建议配置测试配置 服务器数量 2 略 略 硬盘 * 至少1GB用于安装openGauss的应用程序。* 每个主机需大约300MB用于元数据存储。*

[转帖]Centos 7.6 安装部署 openGauss 3.1.0 企业版一主两备集群

https://www.cnblogs.com/dbajacky/p/16904017.html 一、安装环境设置 1.1 硬件环境 名称最低配置建议配置测试配置 服务器数量 3 略 略 硬盘 * 至少1GB用于安装openGauss的应用程序。* 每个主机需大约300MB用于元数据存储。* 预留7