python – findspark.init()IndexError:列表索引超出范围错误

Python 3.5 Jupyter环境中运行以下内容时,我收到以下错误.关于是什么导致它的任何想法?

import findspark
findspark.init()

错误:

IndexError                                Traceback (most recent call
last) <ipython-input-20-2ad2c7679ebc> in <module>()
      1 import findspark
----> 2 findspark.init()
      3 
      4 import pyspark

/.../anaconda/envs/pyspark/lib/python3.5/site-packages/findspark.py in init(spark_home, python_path, edit_rc, edit_profile)
    132     # add pyspark to sys.path
    133     spark_python = os.path.join(spark_home, 'python')
--> 134     py4j = glob(os.path.join(spark_python, 'lib', 'py4j-*.zip'))[0]
    135     sys.path[:0] = [spark_python, py4j]
    136 

IndexError: list index out of range

解决方法:

这很可能是由于您的系统上未正确设置SPARK_HOME环境变量.或者,您可以在初始化findspark时指定它,如下所示:

import findspark
findspark.init('/path/to/spark/home')

在那之后,它应该全部工作!

上一篇:python – 生成新进程时导入会发生什么?


下一篇:【2020/1/18】寒假自学——学习进度报告4