源码安装Py3.x (4)

回到最初的目的,我是想重新下载一个3.x版本的python,但是发现yum源出现问题,现在yum问题基本解决了,那就开始安装吧,我这里采用的是源码安装,因为官方的软件库里没有3.x版本的,所以yum基本就没有用了,只有自己去python官网去下载。

注意:yum是采用python写的,所以有可能安装新版本后会产生不好的影响,要求我们centos自带的python2尽量不要删除或者修改相关配置!

进入python官网https://www.python.org/downloads/release/python-365/ 的python3.6.5的下载区,下拉页面找到各个版本列表,第一个版本为Gzipped source tarball 操作系统为Source release(源码)的就是linux下的。鼠标停在Gzipped source tarball上,右键出现复制链接地址选项,选择后就有下载地址:https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz,这就是我们需要的tgz格式的安装包。

yum install wget  #我下的最小系统里面没有wget工具,所以先要下载
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz #下载到当前目录

下载完后,我们还需要有 解包 —>运行configure脚本 —>编译 —>安装的过程,编译的环境是C语言的环境所以需要gcc和glibc库。一般系统都自己安装了的。

解包

tar -xvf Python-3.6.5.tgz  #解包得到Python-3.6.5文件夹

运行configure

cd Python-3.6.5  #进入到该目录下
./configure --prefix=/usr/local/python3.6

# ./ 是运行的意思,运行configure脚本就是为了增加编译参数,这些参数包括增加或删
# 除某些功能,软件装到哪个目录下等等,比如--prefix就是编译安装的路径在
# /usr/local/python3.6 (这个目录要事先被创建好)

编译

make

安装

make install

如果安装过程当中报错显示缺乏某些库,直接用yum源安装该库,然后再次编译安装。

编译安装耗时比较长,而rpm包是将编译好的文件先打包,用户可以直接下载已经编译好的,这样省去了很长的编译时间。

安装完成后,python就已经在我们设置的–prefix=/usr/local/python3.6目录里,而我们之前所在的编译安装时所在的文件夹Python-3.6.5文件夹只是一个安装包。

启动python3.6
方法3 > 方法2 > 方法1

方法1
我们可以先cd /usr/local/python3.6/bin然后./python3.6
其中./是运行的意思,/bin文件夹下存放的是可执行文件,所以我们只要执行其中的python3.6文件就可以启动python3.6 。

方法2:软连接

ln -s /usr/local/python3.6/bin/python3.6 /bin/python3.6

#无论在任何目录下直接输入python3.6都会启动python
#如果不需要此软连接了,命令如下

rm -rf /bin/python3.6

方法3:添加环境变量 PATH
我们平时执行命令其实都是在执行该文件,因为一切皆文件
比如执行ls,其实是在执行/usr/bin/ls该文件内容,至于如何找到该命令所对应的文件,可执行命令which ls
过程大概是:我们执行 ls ——-> PATH(环境变量) ——-> /usr/bin/ls

[root@localhost bin]# echo $PATH
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zjx/.local/bin:/home/zjx/bin

从上面我们可以看到环境变量的路径有多个,当我们执行 ls ,系统就会去依次找到相关路径,最终在 /usr/bin 路径下找到与之对应的文件,然后就执行该文件,最终体现为命令的运行。

与之类似,我们可以将python3.6加入到环境变量里面:

vi /etc/profile    #这里面有关于PATH的配置文件

在这个文件的末尾添加

PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/zjx/.local/bin:/home/zjx/bin:/usr/local/python3.6/bin

export PATH

#注意/usr/local/python3.6/bin 加入到了path里面,以后再次输入python3.6,系
#统就会经过环境变量找到/usr/local/python3.6/bin/python3.6,然后去执行。

#expor PATH 则是定义PATH为全局变量
python3.6 -V  #查看python版本
pip3.6 -V  #查看pip3.6版本
which pip  #查看都有哪些pip路径

之后的虚拟环境安装请参考https://blog.csdn.net/a_lazy_zhu/article/details/73822988

猜你喜欢

转载自blog.csdn.net/a_lazy_zhu/article/details/80456535