【发布时间】:2020-02-24 13:36:22
【问题描述】:
.py 程序可以运行,但完全相同的代码在作为 API 公开时不起作用。
代码使用 Tabula 读取 pdf 并提供表格内容作为输出。
我试过了:
import tabula
df = tabula.read_pdf("my_pdf")
print(df)
和
from tabula import wrapper
df = wrapper.read_pdf("my_pdf")
print(df)
我已经在运行 Ubuntu 的 AWS EC2 上安装了 tabula-py(不是 tabula)。
除了 read_pdf,我实际上还想转换为 CSV 并给出输出。但这也行不通。我得到相同的无属性错误,即module 'tabula' has no attribute 'convert_into。
.py 文件和 API 文件(.py 也一样)在同一个目录下,由同一个用户访问。
任何帮助将不胜感激。
编辑:我尝试从 API 运行相同的 python 文件作为 OS 命令 (os.system("python3 /home/ubuntu/flaskapp/tabler.py"))。但它也没有奏效。
【问题讨论】:
-
你的
pip freeze显示了什么? -
详情在这里 - pastebin.com/yGBgr5jM。注意,同一个 API 文件有更多的功能要公开。因此,您会发现比 tabula 更多的 pip 组件。
-
我尝试从 API 运行相同的 python 文件作为 OS 命令 (
os.system("python3 /home/ubuntu/flaskapp/tabler.py"))。但效果并不好。 -
您有没有将您的脚本之一命名为
tabula.py,是否有机会?import可能会优先选择已安装的模块。或执行import tabula; print(dir(tabula))以查看它正在定义的确切名称。 -
没有。我的文件都没有被命名为“tabula”。