大坑:
系统自带的python2不要卸载,一些系统命令要用,2和3可以共存。
linux中Python3.6.8安装
[root@master ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
1、首先要查看系统中有没有自带的gcc
gcc --version
2、通过wget命令下载并解压
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -zxf Python-3.6.8.tgz -C /opt
3、安装依赖环境
首先说一下-devel 这个意思是软件包所对应的开发包,我们也可以看到我们所有的依赖都是软件包的开发包。zlib是一个运行库,zlib-devel包括运行库和头文件等,在需要编译C/C++程序的时候,python就会用到。
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
工具 | 作用 |
zlib-devel | zlib是一个提供数据压缩用的函式库,这个包主要功能就是控制处理器和内存,以此来达到压缩和解压缩的目的 |
bzip2-devel | 与zlib一样是一个解压缩软件 |
openssl | 加密通讯,python的一些网页框架服务会用到,包如其名使用的是ssl协议。是一个多用途、快平台的密码工具 |
ncurses | 一个提供功能定义,屏幕绘制的图形互动动态库,vim就用到过这个包 |
SQLite | 这个应该不陌生,轻型数据库 |
readline | 提供交互式的文本编辑功能 |
tk | 提供基本的可视化界面类似于swing |
gdbm | 提供简单的资料管理函数 |
db4 | 为客户端/服务器提供嵌入式数据库支持 |
libpcap | 数据包捕获函数库,网络分接口收集数据,数据过滤器决定是否接受数据包 |
xz | 具有高压缩率的数据压缩软件 |
libffi | 提供了python调用其他语言的功能 |
4、编译安装
cd /opt/Python-3.6.8/ && ./configure --prefix=/usr/local/python3 --enable-optimizations && make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
If you want a release build with all stable optimizations active (PGO, etc), please run ./configure --enable-optimizations
# 说明:
很多教程都有最后一步,但是很少有网站会告诉你为什么会有最后一步。
所谓软连接就相当于win下的快捷方式。你可以通过快捷方式打开你想要使用的软件。
但是为什么要把快捷方式放在/usr/bin/呢。这就涉及到环境变量的问题了,
你当然可以不使用最后的软连接而直接把/usr/local/python3/bin加到环境变量里面,
那随你喜好。但是在这里/usr/bin/是默认已经在环境变量里面的,
把快捷方式放到这个文件夹相当于间接的把该Python3加入环境变量,
这样你才可以直接在终端输入“python3”打开Python。
# 为什么不把软连接放到桌面呢?
我觉得有两个原因:第一、无法在终端通过命令行操作Python3。第二、并不是所有的Linux系统都是图形化界面,可能没有桌面啊,亲!
至于最后一句是为pip建立软件接。pip3是Python3内置的一个软件。用来安装Python包的。比如要安装Python3的numpy包。直接在终端使用如下命令即可:
pip3 install requests
5、验证
[root@master Python-3.6.8]# python3 --version
Python 3.6.8
[root@master Python-3.6.8]# pip3 --version
pip 18.1 from /usr/local/python3/lib/python3.6/site-packages/pip (python 3.6)
Youth is not afraid of years, there is still glory!