我的 shell 环境是什么?

我的 shell 环境是什么?

我决定在这里发帖,因为我的问题涉及 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

相关内容