我决定在这里发帖,因为我的问题涉及 Linux 问题。我正在尝试运行 Jupiter 笔记本
from pyspark.sql import SparkSession
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-13-61fbc0d156c2> in <module>
----> 1 from pyspark.sql import SparkSession
ModuleNotFoundError: No module named 'pyspark'
在 Jupyter 中,shell 环境和 Python 可执行文件是断开连接的。
!echo $PATH
/snap/jupyter/6/bin:/snap/jupyter/6/usr/sbin:/snap/jupyter/6/usr/bin:/snap/jupyter/6/sbin:/snap/jupyter/6/bin:/home/mm/snap/jupyter/common/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
和
sys.path['/home/mm',
'/snap/jupyter/6/lib/python37.zip',
'/snap/jupyter/6/lib/python3.7',
'/snap/jupyter/6/lib/python3.7/lib-dynload',
'',
'/snap/jupyter/6/lib/python3.7/site-packages',
'/snap/jupyter/6/lib/python3.7/site-packages/IPython/extensions',
'/home/mm/snap/jupyter/6/.ipython']
如果我列出包
!pip list
Package Version
------- -------
py4j 0.10.9
pyspark 3.0.0
我的 Shell 环境是什么?
答案1
要获取您正在使用的外壳:
默认外壳:
echo $SHELL
您当前的 shell 可能与默认 shell 相同,也可能不同:
echo $0
获取当前 shell 的另外两种方法:
ps -p $$
printf "%s\n" $0
如果要查找所有环境变量,请使用以下两个命令之一:
env
printenv
您在使用 Jupyter Notebook 时遇到的问题可能是由于 Python 环境的设置方式造成的。您可以使用:
env | grep -i python
printenv | grep -i python