【问题标题】:`import pyspark` works in Jupyter, but doesn't work with python shell/script`import pyspark` 适用于 Jupyter,但不适用于 python shell/脚本
【发布时间】:2018-10-30 16:27:41
【问题描述】:

我正在尝试将 pyspark 代码从 jupyter 笔记本迁移到 python 脚本。但是,当我尝试使用

from pyspark.sql import SparkSession

我收到一个错误No module named 'pyspark'

  • 我试图在系统中找到所有python3python2,将它们作为shell 运行,并尝试在每个shell 中导入pyspark。但是,我在每个 shell 中都有相同的 No module named 'pyspark'

  • 当我尝试 import findsparkpython3/python2 时,我得到了 No module named 'findspark'

  • echo $PYTHONPATHecho $SPARK_HOMEreturn 空字符串
  • 我试图找到所有spark-submit 并使用它们而不是python3 运行我的脚本。但是,argparse 使用时出现错误

    File "/export/home/osvechkarenko/brdmp_10947/automation_001/py_dynamic_report.py", line 206
    if args.print:
                ^
    SyntaxError: invalid syntax
    

    当我在 python3 中使用我的脚本(没有pyspark)时,它运行良好。

【问题讨论】:

  • 你能提供工作pyspark.__file__的输出吗?这有助于我们确定您的哪些环境有效。

标签: python pyspark jupyter-notebook


【解决方案1】:

首先,确保你的 python 解释器对于 jupyter 和 shell 是相同的:

import sys
print(sys.executable)

如果是这种情况,您的 jupyter 内核还会在启动时将 pyspark 添加到 python 路径。正如@Sraw 指出的那样,您可以通过pyspark.__file__ 在您的工作环境中找到pyspark。

这是一个简短的 bash 脚本,介绍如何在 Ubuntu 16.10 下将 pyspark 手动添加到现有的 jupyter 内核:link

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 2012-05-01
    • 1970-01-01
    • 2015-02-24
    • 1970-01-01
    • 2019-07-20
    • 1970-01-01
    • 2019-08-09
    • 2021-09-20
    相关资源
    最近更新 更多