1、默认情况下,Linux会自带安装Python,可以运行python —version命令查看

我们看到Linux中已经自带了Python2.7.5。再次运行python命令后就可以使用python命令窗口了(Ctrl+D退出python命令窗口)
2、查看Linux默认安装的Python位置

看到/usr/bin/python和/usr/bin/python2都是软链接,/usr/bin/python指向/usr/bin/python2,而/usr/bin/python2最终又指向/usr/bin/python2.7。所以运行python/python2/python2.7是一样的。
3、安装python3
1) 下载地址
登录https://www.python.org/downloads/source/,找到对应版本(我们以Python 3.6.5为例)如图:
下载Python-3.6.5.tgz
2) 文件上传解压
将文件上传到Linux系统的某个目录下,根据自己情况上传,本例上传到了/home/hadoop目录下
3) 准备编译环境
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
安装python需要的依赖。成功后(Complete!),如图:
如果python是3.7版本,还需要安装libffi-devel。整个编译过程1分钟左右。
4) 编译安装
执行cd Python-3.6.5进入解压后的Python-3.6.5目录下,依次执行如下三个命令(使用root用户):
# --prefix指定编译后的文件存放位置./configure --prefix=/home/hadoop/python3.6.5makemake install

我们看到,同时安装了setuptools和pip工具。进入到/home/hadoop/python3.6.5安装目录
5) 创建软链接
还记得开始,Linux已经安装了python2.7.5,这里我们不能将它删除,如果删除,系统可能会出现问题。我们只需要按照与Python2.7.5相同的方式为Python3.6.5创建一个软链接即可,我们把软链接放到/usr/local/bin目录下
sudo ln -s /home/hadoop/python3.6.5/bin/python3 /usr/local/bin/python3

安装成功!当然此时还是可以使用Python2.7.5版本(运行python/python2/python2.7即可)。
6) 配置环境变量
配置环境变量主要是能快速使用pip3安装命令。
cd /etc/profile.d#创建一个文件(名字任意)vim py3.sh#配置pythonexport PYTHON_HOME=/home/hadoop/python3.6.5export PATH=$PYTHON_HOME/bin:$PATHsudo chown root:root /etc/profile.d/py3.shsudo chmod 644 /etc/profile.d/py3.shsource /etc/profile
4、pyspark设置python的版本
一般情况下,spark内置的版本,与操作系统中的版本一致
[root@sjsy-hh202-zbxh43w ~]# pysparkPython 2.7.5 (default, Oct 30 2018, 23:45:53)[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2Type "help", "copyright", "credits" or "license" for more information.2021-07-21 11:00:23 WARN Utils:66 - Your hostname, master resolves to a loopback address: 127.0.0.1; using 192.168.1.100 instead (on interface ens33)2021-07-21 11:00:23 WARN Utils:66 - Set SPARK_LOCAL_IP if you need to bind to another address2021-07-21 11:00:24 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicableSetting default log level to "WARN".To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).Welcome to____ __/ __/__ ___ _____/ /___\ \/ _ \/ _ `/ __/ '_//__ / .__/\_,_/_/ /_/\_\ version 2.3.0/_/Using Python version 2.7.5 (default, Oct 30 2018 23:45:53)SparkSession available as 'spark'.>>>
- 修改spark-env.sh文件,在末尾添加export PYSPARK_PYTHON=/usr/local/bin/python3
- 修改spark安装包bin目录下的pyspark,修改下图红色方框的位置,将原来PYSPARK_PYTHON=python改成PYSPARK_PYTHON=python3 (目前不修改不影响使用)
[hadoop@master bin]$ vim pyspark if [[ -z "$PYSPARK_PYTHON" ]]; then if [[ $PYSPARK_DRIVER_PYTHON == *ipython* && ! $WORKS_WITH_IPYTHON ]]; then echo "IPython requires Python 2.7+; please install python2.7 or set PYSPARK_PYTHON" 1>&2 exit 1 else PYSPARK_PYTHON=python3 fi fi export PYSPARK_PYTHON启动pyspark,版本已经更换

