【问题标题】:ModuleNotFoundError: No module named 'pyspark'ModuleNotFoundError:没有名为“pyspark”的模块
【发布时间】:2021-01-18 00:54:51
【问题描述】:

我最近在Linux上安装了pyspark,导入pyspark时报错:

ModuleNotFoundError: No module named 'pyspark'

Pyspark 在我的“点子列表”中

我在我的 .bashrc 中添加了以下几行:

export SPARK_HOME=~/Spark/spark-3.0.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.10.9-src.zip:$PYTHONPATH
export PYSPARK_PYTHON=python3

如果我从终端输入 pyspark,它可以正常工作:

      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 3.0.1
      /_/
Using Python version 3.7.3 (default, Jul 25 2020 13:03:44)
SparkSession available as 'spark'.

在终端中,我可以完成所有的编码工作,只是不会从 python 脚本加载 import pyspark。看来我的环境变量没问题。

然后我输入:

import findspark
print(findspark.init())

它说; ValueError: 找不到 Spark,请确保 SPARK_HOME 环境已设置或 Spark 位于预期位置(例如,来自 homebrew 安装)

【问题讨论】:

  • 如何运行脚本?尝试使用带有版本的python:python3.7 script.py
  • 您的解决方案确实有效。很高兴知道如何成功运行它,但仍然想知道如何在我的解释器中做到这一点(我使用 Thonny)
  • 尝试这样做techcoil.com/blog/…
  • 在终端中输入echo $SPARK_HOME 的输出是什么?
  • 这个问题有帮助吗:How to Setup SPARK_HOME variable?

标签: python apache-spark pyspark


【解决方案1】:

使用检查您的环境变量设置是否正确

source ~/.bashrc
cd $SPARK_HOME/bin 

或在脚本中提供完整路径

import findspark
print(findspark.init('~/Spark/spark-3.0.1-bin-hadoop2.7/'))

【讨论】:

  • 这不起作用。 Pyspark 配置正确,因为它是从 shell 运行的。它只是不从 python 脚本运行。
【解决方案2】:

我在 Mac 上运行 pyspark 代码时遇到了类似的问题。

当我将以下行添加到我的 .bashrc 时,它起作用了:

export PYSPARK_SUBMIT_ARGS="--name job_name --master local --conf spark.dynamicAllocation.enabled=true pyspark-shell"

或者,当我在我的 python 代码中添加时:

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = """--name job_name --master local --conf spark.dynamicAllocation.enabled=true pyspark-shell"""

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-07
    • 2019-03-28
    • 2022-01-07
    • 2021-05-24
    • 2017-12-14
    • 2020-12-10
    • 2021-09-02
    相关资源
    最近更新 更多