问题:我一直在尝试使用Python库pdf2image,我知道这需要事先安装poppler。Poppler是安装的(通过自制)和包通过pip。
然而,当运行convert_to_path(my_pdf)
时,我得到以下内容:
Traceback (most recent call last):
File "<ipython-input-9-ba107659b495>", line 1, in <module>
test_image = convert_from_path(testfile,
File "/Users/<myuser>/.pyenv/versions/3.8.0/lib/python3.8/site-packages/pdf2image/pdf2image.py", line 97, in convert_from_path
page_count = pdfinfo_from_path(pdf_path, userpw, poppler_path=poppler_path)["Pages"]
File "/Users/<myuser>/.pyenv/versions/3.8.0/lib/python3.8/site-packages/pdf2image/pdf2image.py", line 467, in pdfinfo_from_path
raise PDFInfoNotInstalledError(
PDFInfoNotInstalledError: Unable to get page count. Is poppler installed and in PATH?
我的系统:Mac,OC 10.15.7Python(通过Homebrew)版本3.8.0
which python
/Users/<myuser>/.pyenv/shims/python
which pip
/Users/<myuser>/.pyenv/shims/pip
到目前为止,我已经尝试过:Poppler通过自制程序(brew install poppler
)安装,pdf2image与pip3 install pdf2image
一起安装我也运行过brew cleanup
。
尝试使用以下强制convert_to_path中的poppler路径
pop_path = "/usr/local/Cellar/poppler/21.03.0_1"
convert_to_path(my_pdf_file,poppler_path = pop_path)
但是仍然得到相同的错误。
在网上看了一眼,发现很多人都有类似但不完全相同的问题。我觉得我一定做错了什么,所以任何指导都很好。
部分解决方案
在手动输入pop_path文件路径时,我忘记将/bin附加到路径
pop_path = "/usr/local/Cellar/poppler/21.03.0_1/bin"
代码现在可以工作了。虽然我的自尊心需要一段时间才能恢复。。。
我觉得我可能仍然坐在一个糟糕的配置问题上?关于类似问题的许多帖子似乎暗示,安装在自制程序上的popper不应该有这个问题。可能是因为我也在使用pyenv吗?
如果您使用conda环境,请在mac终端中运行以下代码
conda install -c conda-forge pdf2image
conda install -c conda-forge poppler
它解决了问题