python - 导入 Pandas 时出现 Apache Zeppelin 错误
问题描述
将 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'
>>>
熊猫似乎已经安装:
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 使用的 Python 解释器配置不正确。您可能安装了几种不同的 Python,并且您考虑了一种,但 Zeppelin 使用了另一种。你必须检查参数zeppelin.python
。然后需要检查是否pandas
安装了这个 Python 库(我认为没有)。
此参数指定“已安装 Python 二进制文件的路径。如果 python 不在您的 $PATH 中,您可以设置绝对目录(例如:/usr/bin/python)”
默认情况下,Zeppelin 将使用zeppelin.python
属性中定义的 Python 来运行 Python 进程。解释器可以使用所有已安装的模块(使用 pip、easy_install...)
比需要安装pandas
Zeppelin 使用的解释器。
pandas
或在此参数中指定已安装Python 解释器的路径。
推荐阅读
- javascript - 添加搜索栏时 mat select 的默认行为发生变化
- magento - 如何安全地进行从 magento 到 shopify 的手动迁移?
- java - Weblogic 无法在静态字段中注入 @PersistenceContext
- spring-boot - IllegalStateException:Bean 名称“设计”的 BindingResult 和普通目标对象都不能用作请求属性
- javascript - 如何比较两个数组的索引?
- mysql - 大约 4Gb 的 MySQL 转储需要多长时间?
- apache-kafka - 更新 Kafka 日志保留默认值是否需要停机?
- jenkins - 从 api.nuget.org 下载“BouncyCastle.1.8.6.1”时出错
- javascript - OnClick 按钮在 React Js 中没有做任何事情
- scrapy - Scrapy CrawlSpider - start_urls 的错误返回