我的 AWS Sagemaker Studio JupyterLab Space 中的 Glue Pyspark 和 Ray 内核中的 Python 版本与 pip 安装的软件包之间似乎存在差异。我第一次注意到这个问题是在我尝试导入 IPython 时,我收到了一个
ModuleNotFound
错误,但如果我这样做了 !pip list | grep ipython
,我会得到 ipython 8.20.0。我也做了 !ipython --version
给出了 8.20.0.
经过进一步调查,我做了以下事情。
import sys
print(sys.path)
这给出了
['/tmp', '/tmp/spark-7a070785-711d-4791-9ed3-631d12bc29a0/userFiles-298f6845-dc16-4a6c-95e2-0245bbc35529', '/opt/amazon/spark/python/lib/pyspark.zip', '/opt/amazon/spark/python/lib/py4j-0.10.9-src.zip', '/opt/amazon/lib/python3.6/site-packages', '/usr/lib64/python37.zip', '/usr/lib64/python3.7', '/usr/lib64/python3.7/lib-dynload', '/home/spark/.local/lib/python3.7/site-packages', '/usr/lib64/python3.7/site-packages', '/usr/lib/python3.7/site-packages']
!python --version
但是给出 3.10.13
我也做了
pandas.__version__
,给出了1.3.2,但是!pip list | grep pandas
给出了
熊猫2.1.4 熊猫存根 2.1.4.231227
import sys
print(sys.path)
这给出了
['/home/sagemaker-user', '/opt/conda/lib/python310.zip', '/opt/conda/lib/python3.10', '/opt/conda/lib/python3.10/lib-dynload', '', '/opt/conda/lib/python3.10/site-packages']
和
!python --version
现在给出 3.10.13,这与 sys.path
一致
我重新编写了
pandas.__version__
,现在给出了2.1.4,而!pip list | grep pandas
给出了
熊猫2.1.4 熊猫存根 2.1.4.231227
这是一致的。
因此,我似乎对 Glue Pyspark 和 Ray 内核有一个问题,其中内核中的 Python 版本指向 pip 识别的其他安装,因此找不到许多 pip 安装的软件包。
我确实在这里发现了类似的问题Conflicting Python versions in SageMaker Studio Notebook with Python 3.8 kernel但接受的答案并没有真正帮助我。
非常感谢任何帮助。我是否在这里遗漏了一些简单的东西,或者其他人是否遇到过 Glue Pyspark 和 Ray 内核的此类问题?
我能够重现同样的问题。我无法通过正常方法将其他软件包安装到“Glue PySpark and Ray”环境。
作为一种解决方法,我发现仍然可以通过执行如下 Python 代码来安装其他包:
import pip
pip.main(['install', "ipython"])
我想向团队报告此问题。