centos7 安装python3

本文详细介绍了在CentOS7系统中安装Python3的过程,包括安装必要依赖、使用pip安装wget、下载Python3源码包并编译安装、创建软链接以及修改yum配置等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章的指导来源是大佬的博客,原链接https://blog.youkuaiyun.com/lovefengruoqing/article/details/79284573#comments,我在看文章的基础上自己都操作了一遍,只是为了方便我自己以后的查找,侵删

centos7 自带有 python,但是却是 python2 版本的 python,要从github上把源码clone下来进行编译安装,因为 yum 源中并没有现成的 python3 程序,步骤如下:

1.首先,你要知道系统现在的python的位置在哪儿:

[root@localhost ~]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz

可以看到我们的python在 /usr/bin目录中,而且是2.7版本

[root@localhost ~]# cd /usr/bin
[root@localhost bin]# ll python*
lrwxrwxrwx. 1 root root    7 Dec 31 17:22 python -> python2
lrwxrwxrwx. 1 root root    9 Dec 31 17:22 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 Nov  6  2016 python2.7
-rwxr-xr-x. 1 root root 1835 Nov  6  2016 python2.7-config
lrwxrwxrwx. 1 root root   16 Dec 31 17:22 python2-config -> python2.7-config
lrwxrwxrwx. 1 root root   14 Dec 31 17:22 python-config -> python2-config
[root@localhost bin]# 

可以看到,python指向的是python2,python2指向的是python2.7,因此我们可以装个python3,然后将python指向python3,然后python2指向python2.7,那么两个版本的python就能共存了---大佬原话

2.因为我们要安装python3,所以要先安装相关包,用于下载编译python3:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make

执行这个代码的时候总是提示another app is currently巴拉巴拉,关不胜关,yum在锁定状态中。
可以通过强制关掉yum进程:

rm -f /var/run/yum.pid

然后再执行上面的命令安装相关包

ps:

如果安装3.7.3版本的,注意一下需要新的依赖,yum install libffi-devel -y

3.我不知道我的centos7有没有安装pip,索性试一下,有枣没枣打一杆子

yum -y install epel-release

运行这个命令添加epel扩展源,果然,我没有安装

yum install python-pip

安装pip

不知为何安装最后显示如下信息,不知道别人会不会遇到

Total download size: 1.7 M
Installed size: 7.2 M
Is this ok [y/d/N]: Exiting on user command
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2019-06-08.16-43.bzD0c1.yumtx

既然rerun,那就rerun一下

yum load-transaction /tmp/yum_save_tx.2019-06-08.16-43.bzD0c1.yumtx

然后问是否要安装,你问我资不资瓷,当然是资瓷得啦

4.用pip装wget

pip install wget

然后继续提示

[root@localhost bin]# pip install wget
Collecting wget
  Downloading https://files.pythonhosted.org/packages/47/6a/62e288da7bcda82b935ff0c6cfe542970f04e29c756b0e147251b2fb251f/wget-3.2.zip
Installing collected packages: wget
  Running setup.py install for wget ... done
Successfully installed wget-3.2
You are using pip version 8.1.2, however version 19.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

意思是没有更新到新版本,我没有体验过的船新版本???

那就更新吧

pip install --upgrade pip

还是一样,这就十分难过了········

果断搜索,相信网络的力量--https://blog.youkuaiyun.com/jasonzzj/article/details/70513544

这个大佬就试了man pip,然后发现了新问题,然后我执行了这个命令········竟然进不去!!

但是我还是抱着试试看的态度执行了他的命令

pip install --upgrade pip -vvv

于是好了!!!!

马德放弃治疗了

5.用wget下载python3的源码包

[root@localhost bin]# wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
--2019-06-08 17:04:09--  https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
Resolving www.python.org (www.python.org)... 151.101.0.223, 151.101.64.223, 151.101.128.223, ...
Connecting to www.python.org (www.python.org)|151.101.0.223|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16992824 (16M) [application/octet-stream]
Saving to: ‘Python-3.6.4.tar.xz’

100%[=====================================================================================================================================================>] 16,992,824   135KB/s   in 1m 54s 

2019-06-08 17:06:04 (146 KB/s) - ‘Python-3.6.4.tar.xz’ saved [16992824/16992824]

6.编译python3源码包

xz -d Python-3.6.4.tar.xz
tar -xf Python-3.6.4.tar
#然后显示
[root@localhost bin]# ll Python*
-rw-r--r--.  1 root root 83742720 Dec 19  2017 Python-3.6.4.tar

进入解压后的目录,依次执行下面命令进行手动编译

./configure prefix=/usr/local/python3
#执行的最后会显示下面的信息
If you want a release build with all stable optimizations active (PGO, etc),
please run ./configure --enable-optimizations

手痒难耐,强迫症发作,于是执行了一下./configure --enable-optimizations

然后再执行一下

make && make install

让进程飞一会

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录--大佬原话,不过我是在下面的目录下看到的

[root@localhost lib]# pwd
/usr/local/lib
[root@localhost lib]# ll 
total 28196
-r-xr-xr-x.  1 root root 28859384 Jun  8 17:47 libpython3.6m.a
drwxr-xr-x.  2 root root       67 Jun  8 17:48 pkgconfig
drwxr-xr-x. 35 root root     8192 Jun  8 17:48 python3.6

而且这个目录里已经看到python3了,执行python3(不是python)命令是可以执行成功的

[root@localhost bin]# pwd
/usr/local/bin
[root@localhost bin]# ll
total 22632
lrwxrwxrwx. 1 root root        8 Jun  8 17:48 2to3 -> 2to3-3.6
-rwxr-xr-x. 1 root root      101 Jun  8 17:48 2to3-3.6
-rwxr-xr-x. 1 root root      242 Jun  8 17:48 easy_install-3.6
lrwxrwxrwx. 1 root root        7 Jun  8 17:48 idle3 -> idle3.6
-rwxr-xr-x. 1 root root       99 Jun  8 17:48 idle3.6
-rwxr-xr-x. 1 root root      214 Jun  8 17:48 pip3
-rwxr-xr-x. 1 root root      214 Jun  8 17:48 pip3.6
lrwxrwxrwx. 1 root root        8 Jun  8 17:48 pydoc3 -> pydoc3.6
-rwxr-xr-x. 1 root root       84 Jun  8 17:48 pydoc3.6
lrwxrwxrwx. 1 root root        9 Jun  8 17:48 python3 -> python3.6
-rwxr-xr-x. 2 root root 11569896 Jun  8 17:47 python3.6
lrwxrwxrwx. 1 root root       17 Jun  8 17:48 python3.6-config -> python3.6m-config
-rwxr-xr-x. 2 root root 11569896 Jun  8 17:47 python3.6m
-rwxr-xr-x. 1 root root     3117 Jun  8 17:48 python3.6m-config
lrwxrwxrwx. 1 root root       16 Jun  8 17:48 python3-config -> python3.6-config
lrwxrwxrwx. 1 root root       10 Jun  8 17:48 pyvenv -> pyvenv-3.6
-rwxr-xr-x. 1 root root      441 Jun  8 17:48 pyvenv-3.6

理论上讲,此时已经安装成功了

不过我们是这么容易满足的人吗!?

7.添加软链接

将原来的链接备份

mv /usr/bin/python /usr/bin/python.bak

#添加python3的软链接

ln -s /usr/local/bin/python3.6 /usr/bin/python
#前面的目录是实际的启动目录,视实际情况而定,安装完以后记得ll来查找一下

测试是否安装成功了(我的已经成功了,祝各位顺利)

python -V

8.更改yum配置,因为yum要用到python2才能执行,否则会导致yum不能正常使用

vi /usr/bin/yum
把开头的#! /usr/bin/python修改为#! /usr/bin/python2

vi /usr/libexec/urlgrabber-ext-down
把开头的#! /usr/bin/python 修改为#! /usr/bin/python2

本想单纯的按步骤操作一遍,但是中间排错太多,已经是原创了········

结果展示

[root@localhost bin]# python
Python 3.6.4 (default, Jun  8 2019, 17:46:38) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

ps:

 还需要把python3的bin添加到环境变量中,不然只能用python3命令,其他由python3安装的都用不了。

export PATH=$PATH:/usr/local/bin
#以本次我自己的设备安装路径为基础,各位修改的时候注意链接

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值