Python 2.7 PyCharm can';找不到';星火之家';从其他文件导入时
我有两个文件 test.py test_test.py 当我运行test.py时,连接成功,但使用test_test.py时,它会给出Python 2.7 PyCharm can';找不到';星火之家';从其他文件导入时,python-2.7,apache-spark,pyspark,Python 2.7,Apache Spark,Pyspark,我有两个文件 test.py test_test.py 当我运行test.py时,连接成功,但使用test_test.py时,它会给出 升起钥匙错误(钥匙) 键错误:如果未找到或无效的SPARK\u HOME,则会出现“SPARK\u HOME”错误。因此,最好将其添加到bashrc中,然后检查并重新加载代码。因此,将其添加到test.py的顶部 import os import sys import pyspark from pyspark import SparkContext, Spark
升起钥匙错误(钥匙)
键错误:如果未找到或无效的
SPARK\u HOME,则会出现“SPARK\u HOME”错误。因此,最好将其添加到bashrc
中,然后检查并重新加载代码。因此,将其添加到test.py的顶部
import os
import sys
import pyspark
from pyspark import SparkContext, SparkConf, SQLContext
# Create a variable for our root path
SPARK_HOME = os.environ.get('SPARK_HOME',None)
# Add the PySpark/py4j to the Python Path
sys.path.insert(0, os.path.join(SPARK_HOME, "python", "lib"))
sys.path.insert(0, os.path.join(SPARK_HOME, "python"))
pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "")
if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args
也可以在~/.bashrc文件的末尾添加此项
命令:vim~/.bashrc
如果您使用的是任何基于Linux的操作系统
# needed for Apache Spark
export SPARK_HOME="/opt/spark"
export IPYTHON="1"
export PYSPARK_PYTHON="/usr/bin/python3"
export PYSPARK_DRIVER_PYTHON="ipython3"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
export PYTHONPATH="$SPARK_HOME/python/:$PYTHONPATH"
export PYTHONPATH="$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH"
export PYSPARK_SUBMIT_ARGS="--master local[2] pyspark-shell"
export CLASSPATH="$CLASSPATH:/opt/spark/lib/spark-assembly-1.6.1-hadoop2.6.0.jar
注意:
在上面的bashrc代码中,我将我的SPARK_HOME值指定为/opt/SPARK
,您可以指定保存SPARK文件夹的位置(从网站下载的文件夹)
另外,我使用的是python3
,如果您使用的是python2.+版本,那么可以在bashrc中将其更改为python
我使用Ipython,以便在运行时进行简单的测试,比如加载一次数据并多次测试代码。如果您使用的是纯文本编辑器,请告诉我我将相应地更新bashrc
为什么会发生这种情况,为什么当我从另一个文件运行时,PyCharm不能获取“SPARK_HOME”?我在vim的PC中测试了你的代码。分别运行两个.py
文件后,代码将打印“全部完成”。因此,问题出在您的SPARK\u HOME
位置。你在你的操作系统中设置了吗。我假设您使用的是Linux操作系统。是的,我使用的是带有PyCharm IDE的ubuntu,但在运行test_test.py文件时,它会引发“SPARK_HOME”的关键错误,这与我运行test.py文件时不同。另外,当test.py文件成功运行时,我在.bashrc中给出了'SPARK_HOME'的路径。您是否在终端中而不是在IDE中单独检查了它?是否得到了任何结果?
import os
import sys
import pyspark
from pyspark import SparkContext, SparkConf, SQLContext
# Create a variable for our root path
SPARK_HOME = os.environ.get('SPARK_HOME',None)
# Add the PySpark/py4j to the Python Path
sys.path.insert(0, os.path.join(SPARK_HOME, "python", "lib"))
sys.path.insert(0, os.path.join(SPARK_HOME, "python"))
pyspark_submit_args = os.environ.get("PYSPARK_SUBMIT_ARGS", "")
if not "pyspark-shell" in pyspark_submit_args: pyspark_submit_args += " pyspark-shell"
os.environ["PYSPARK_SUBMIT_ARGS"] = pyspark_submit_args
# needed for Apache Spark
export SPARK_HOME="/opt/spark"
export IPYTHON="1"
export PYSPARK_PYTHON="/usr/bin/python3"
export PYSPARK_DRIVER_PYTHON="ipython3"
export PYSPARK_DRIVER_PYTHON_OPTS="notebook"
export PYTHONPATH="$SPARK_HOME/python/:$PYTHONPATH"
export PYTHONPATH="$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH"
export PYSPARK_SUBMIT_ARGS="--master local[2] pyspark-shell"
export CLASSPATH="$CLASSPATH:/opt/spark/lib/spark-assembly-1.6.1-hadoop2.6.0.jar