导入 Pandas 时出现 Apache Zeppelin 错误
Posted
技术标签:
【中文标题】导入 Pandas 时出现 Apache Zeppelin 错误【英文标题】:Apache Zeppelin Error When Importing Pandas 【发布时间】:2021-12-18 20:18:35 【问题描述】:将 Pandas 库导入 Zeppelin 笔记本时遇到一个奇怪的错误。这是我作为单元格的一部分的基本代码:
%python
import pandas as pd
df = pd.read_csv (r'target/youtube_videos.csv')
print (df)
我收到以下错误:
Fail to execute line 3: import pandas as pd
Traceback (most recent call last):
File "/tmp/1636039066525-0/zeppelin_python.py", line 153, in <module>
exec(code, _zcUserQueryNameSpace)
File "<stdin>", line 3, in <module>
ModuleNotFoundError: No module named 'pandas'
我试图查看我的 Python 路径是什么样的,它是这样的:
%sh
python --version
python3-config --configdir
这给了我以下信息:
Python 3.7.0b3
/usr/lib/python3.8/config-3.8-x86_64-linux-gnu
我正在使用 Zeppelin 0.10.0。
编辑:
我尝试了以下方法:
joesan@joesan-InfinityBook-S-14-v5:~/Projects/Private/ml-projects/ml-data-preparation-sandbox$ zstart
Please specify HADOOP_CONF_DIR if USE_HADOOP is true
Zeppelin start [ OK ]
joesan@joesan-InfinityBook-S-14-v5:~/Projects/Private/ml-projects/ml-data-preparation-sandbox$ python
Python 3.7.0b3 (default, Mar 30 2018, 04:35:22)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pandas as pd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pandas'
>>>
Pandas 好像已经安装好了:
joesan@joesan-InfinityBook-S-14-v5:~/Projects/Private/ml-projects/ml-data-preparation-sandbox$ pip3 install pandas
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pandas in /usr/local/lib/python3.8/dist-packages (1.3.4)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/lib/python3/dist-packages (from pandas) (2.7.3)
Requirement already satisfied: numpy>=1.17.3 in /usr/lib/python3/dist-packages (from pandas) (1.17.4)
Requirement already satisfied: pytz>=2017.3 in /usr/lib/python3/dist-packages (from pandas) (2019.3)
WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
You should consider upgrading via the '/usr/bin/python3 -m pip install --upgrade pip' command.
joesan@joesan-InfinityBook-S-14-v5:~/Projects/Private/ml-projects/ml-data-preparation-sandbox$
我什至在 Zeppelin 中将 python 解释器设置如下:
【问题讨论】:
你们是如何启动 Zeppelin 的? 我导航到我的项目文件夹并执行 zstart 命令 从你运行zstart
的终端,请你启动一个Python shell并尝试import pandas as pd
?
我已经编辑了我的帖子。请参见上文。
您是否将pandas
库安装到Zeppelin 使用的环境中?看起来pandas
没有安装。
【参考方案1】:
Zeppelin 使用的 Python 解释器似乎配置不正确。您可能安装了几种不同的 Python,并且您考虑了一种,但 Zeppelin 使用了另一种。您必须检查参数zeppelin.python
。然后需要检查这个 Python pandas
库中是否安装了(我认为没有)。
此参数指定“已经安装的Python二进制文件的路径。如果python不在你的$PATH中,你可以设置绝对目录(例如:/usr/bin/python)”
默认情况下,Zeppelin 将使用zeppelin.python
属性中定义的 Python 来运行 Python 进程。解释器可以使用所有已安装的模块(使用 pip、easy_install...)
Zeppelin 使用的解释器需要安装pandas
。
或在此参数中指定已安装pandas
的Python 解释器的路径。
【讨论】:
奇怪,我将 zeppelin.python 设置为 /usr/bin/python,但它仍然不尊重它并咳出同样的错误。 我用 zeppelin.python 配置的屏幕截图编辑了我的帖子。我不认为我是第一个遇到这样一个基本问题的人。该死! 可能是安装了两个Python,你安装了pandas
,但是Zeppelin使用了另一个。运行 Zeppelen 中指定的手动解释器并检查 pandas
是否存在。
我确实安装了不同版本的 Python,但我现在该如何解决这个问题?
喜欢这个/usr/bin/python -m pip install pandas
。比在 Zeppelin 中重新启动 python 解释器所需要的【参考方案2】:
你确定你已经安装了pandas
吗?除非 Zeppelin 使用自己的 Python,否则这将是问题所在。试一试pip3 install pandas
。
【讨论】:
我已经安装了 pandas。请再次查看我编辑的帖子! 试试pip3 --version
。这将告诉我们正在为哪个 Python pip 安装包。
joesan@joesan-InfinityBook-S-14-v5:~/Projects/Private/ml-projects/ml-data-preparation-sandbox$ pip3 --version pip 21.2.4 from /home/ joesan/.local/lib/python3.8/site-packages/pip (python 3.8)【参考方案3】:
对于任何可能面临相同问题的人,我是这样解决的:
-
安装 pyenv
使用 pyenv 安装 python 版本 3.7.8
使用 pyenv 全局命令设置版本 3.7.8
将 zeppelin.interpretor 设置为 python
【讨论】:
以上是关于导入 Pandas 时出现 Apache Zeppelin 错误的主要内容,如果未能解决你的问题,请参考以下文章
Pandas - 导入大小为 4GB 的 CSV 文件时出现内存错误
导入 pandas.plotting 以构建 scatter_matrix 时出现问题
使用 pandas read_excel() 将 .xls 文件格式导入 python 时出现 CompDocError