Tabula-py - 导入错误: 没有找到名为tabula的模块。

5

我正在尝试使用Tabula-py读取PDF文件。我通过pip install tabula-py安装了tabula-py。

我还安装了所需的依赖项。

requests
pandas
pytest
flake8

我的代码目前如下:

import tabula
import pandas as pd

df = tabula.read_pdf("report.pdf", pages=2)
print(df)

我遇到了以下错误:
Traceback (most recent call last):
File "tabula_pdf_reader.py", line 1, in <module>
  import tabula
ImportError: No module named tabula

有什么意见或建议吗?


看起来你的tabula安装失败了。在import语句上出现了错误。这意味着解释器认为你没有安装它,与你的观点不一致。 - BoarGules
1
pip install tabula-py 给出了 Requirement already satisfied: tabula-py in /usr/local/lib/python2.7/site-packages,因此我认为它已经正确安装了? - AgentX
2
你可能有多个Python环境吗?我能想到的唯一可能导致你所描述的情况是,如果你在2.7中安装了tabula,但在3.6解释器会话中导入它。 - BoarGules
我有两个Python环境。但是我通过终端运行它,终端使用的是2.7版本。我通过which python命令验证了这一点,结果为/usr/bin/python,然后我检查了版本号,使用命令/usr/bin/python -version,结果显示为2.7。 - AgentX
我安装了Python3的tabula-py并使用Python3运行它,它可以正常工作。看起来是我这边出现了一些Python2特定的问题。 - AgentX
5个回答

2

我在Ubuntu上遇到了同样的问题。

首先,通过运行java --versionjavac --version检查您机器上安装的JDK和JRE版本。每个版本都应大于7。

然后使用pip3安装tabula。

最初的回答:


2

在终端执行时,我遇到了同样的问题。但是,当我使用“ipython3”而不是“ipython”启动时,它完美地工作了。 您必须确保tabula-py模块安装在python3目录中,而不是python2。


1
使用此代码。
 import camelot
 tables = camelot.read_pdf('foo.pdf')
 tables.export('foo.csv', f='csv', compress=True)

1
虽然这段代码可能回答了问题,但最好解释一下如何解决问题,并提供代码作为示例或参考。仅有代码的答案可能会令人困惑并缺乏上下文。 - Dima Kozhevin

0
对于 macOS 用户来说,升级到 Monterey 操作系统将解决这个问题。

1
您的回答可以通过提供额外的支持信息来改进。请[编辑]以添加更多细节,例如引用或文档,以便他人可以确认您的答案是否正确。您可以在帮助中心找到有关如何撰写良好答案的更多信息。 - Community

0
我在Azure ML工作室遇到了这个问题。我通过将Python解释器更改为Python 3.8 - AzureML(对你来说可能不同,可以尝试不同的解释器,或者也可以从下面的路径中推断出解释器)来解决了这个问题。然后,使用以下方式包含已安装软件包的路径:
import sys
sys.path.append('/anaconda/envs/azureml_py38/lib/python3.8/site-packages')

将路径更改为您运行时获得的任何内容。
from distutils.sysconfig import get_python_lib
print(get_python_lib())

希望能对某人有所帮助 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接