【问题标题】:Anaconda3 is installed, jupyter notebook errors out No module named 'pyspark'Anaconda3 已安装,jupyter notebook 出错 No module named 'pyspark'
【发布时间】:2018-08-20 01:17:25
【问题描述】:

我一直在 stackoverflow 和其他地方搜索我现在看到的错误并尝试了一些“答案”,但这里没有一个有效(我将继续搜索并在此处更新):

我有一个新的 Ubuntu,安装了 Anaconda3,安装了 Spark 2:

Anaconda3: /home/rxie/anaconda Spark2:/home/rxie/Downloads/spark

我可以启动 Jupyter Notebook,但是无法创建 SparkSession:

from pyspark.conf import SparkConf

ModuleNotFoundError Traceback(最近调用 最后)在() ----> 1 从 pyspark.conf 导入 SparkConf

ModuleNotFoundError: 没有名为“pyspark”的模块

这是我在 .bashrc 中的环境:

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export SPARK_HOME=/home/rxie/spark/
export SBT_HOME=/usr/share/sbt/bin/sbt-launch.jar
export SCALA_HOME=/usr/local/src/scala/scala-2.10.4
export PATH=$SCALA_HOME/bin:$PATH
export PATH=$SPARK_HOME/bin:$PATH
export PATH=$PATH:$SBT_HOME/bin:$SPARK_HOME/bin

# added by Anaconda3 installer
export PATH="/home/rxie/anaconda3/bin:$PATH"
export PATH=$SPARK_HOME/bin:$PATH
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

jupyter notebook 中导入 SparkConf 有什么问题?

如果有人能帮我解释一下,不胜感激,非常感谢。

【问题讨论】:

  • 顺便说一句,你复制了$SPARK_HOME/bin:$PATH
  • 你说你在/home/rxie/Downloads/spark拥有Spark...但是SPARK_HOME=/home/rxie/spark/是什么?
  • 还有一个:尝试使用github.com/minrk/findspark
  • 谢谢@cricket_007,我更正了错误的SPARK_HOME,但错误仍然存​​在。

标签: python apache-spark pyspark jupyter-notebook


【解决方案1】:

由于某种原因,jupyter 在与 Anaconda 一起安装时无法正常工作。我是同样的问题,我解决了它在虚拟环境中重新安装 jupyter 包。

在你的虚拟环境中做:

pip install jupyter

【讨论】:

  • 谢谢。在某些情况下,重新安装 jupyter 并不总是可以接受的。我相信在这种情况下,两个变量中的空白值是罪魁祸首。
【解决方案2】:

如果你在 python 中,你需要初始化你的 spark session

import os
import sys
spark_home = os.environ.get('SPARK_HOME', None)
sys.path.insert(0, os.path.join(spark_home, 'python'))
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.10.4-src.zip'))
execfile(os.path.join(spark_home, 'python/pyspark/shell.py'))

以上是我的代码,你可能需要在你的spark安装中找到对应的库,替换上面的路径。

如果你幸运的话,你会看到这样的东西

Python 2.7.13 |Anaconda, Inc.| (default, Sep 22 2017, 00:47:24)
[GCC 7.2.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /__ / .__/\_,_/_/ /_/\_\   version 2.2.1-mapr-1803
      /_/

Using Python version 2.7.13 (default, Sep 22 2017 00:47:24)
SparkSession available as 'spark'.
>>> from pyspark.conf import SparkConf
>>> SparkConf
<class 'pyspark.conf.SparkConf'>
>>>

【讨论】:

    【解决方案3】:

    最终 PATH 如下所示,笔记本开始按预期工作:

    $ echo $PATH
    /usr/lib64/qt-.3/bin:/home/rxie/perl5/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
    

    与:

    echo $PYSPARK_DRIVER_PYTHON
    jupyter
    echo $PYSPARK_DRIVER_PYTHON_OPTS
    notebook
    

    【讨论】:

    • 好吧,你的 PATH 上没有任何东西是 Spark 特定的,所以这似乎不是解决方案
    • 会不会是因为这两个变量?他们之前是空白的
    • 不,/usr/lib64/qt-.3/bin:/home/rxie/perl5/bin 之后的所有内容都是默认的操作系统路径设置。这两个东西是 QT 和 Perl,所以你的 PATH 上没有任何东西是 Spark 相关的。
    猜你喜欢
    • 2020-03-03
    • 1970-01-01
    • 2017-12-15
    • 2020-08-17
    • 1970-01-01
    • 2019-05-10
    • 2021-03-13
    • 2018-08-26
    • 2021-04-05
    相关资源
    最近更新 更多