from py4j.protocol import Py4JError ModuleNotFoundError 错误

from py4j.protocol import Py4JError ModuleNotFoundError: No module named 'py4j'报错了!!!

学习林子雨老师的pySpark慕课时,按照给的链接安装时,运行python3 ~/test.py程序发现了from py4j.protocol import Py4JError ModuleNotFoundError: No module named 'py4j'的错误了。

后来发现了在cd /usr/local/spark的工作目录,即

cd /usr/local/spark
vim ~/.bashrc

设置环境变量时是这样设置的

export JAVA_HOME=/usr/lib/jvm/default-java
export HADOOP_HOME=/usr/local/hadoop
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3
export PATH=$HADOOP_HOME/bin:$SPARK_HOME/bin:$PATH

其中第四行为export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH

而进入我们的 /usr/local/spark/python/lib 目录下输入 ls 会发现我们的版本号不对,我们的是

from py4j.protocol import Py4JError ModuleNotFoundError 错误_第1张图片

将上边的/usr/local/spark/bashrc里的环境路径改为如下

export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.4-src.zip:$PYTHONPATH

然后在输入

cd /usr/local/spark
source ~/.bashrc

在运行 python3 ~/test.py时就没有错了。

你可能感兴趣的:(Python编程,spark,python)