Не удалось установить pdftotext на Python 3.6, отсутствует поплер

Как правильно установить pdftotext?

Я получаю сообщение об ошибке ниже при установке pdftotext в Python 3.6. Я также пытался установить пакет вручную, загрузив zip-файл, но все равно получил ту же ошибку.

  pdftotext/pdftotext.cpp(4): fatal error C1083: Cannot open include file: 'poppler/cpp/poppler-document.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\x86_amd64\\cl.exe' failed with exit status 2     

person mtryingtocode    schedule 28.08.2017    source источник
comment
У вас должен быть установлен поплер. Я не уверен, что Windows поддерживает pdftotext. На странице github перечислены только зависимости установки для Linux.   -  person Håken Lid    schedule 28.08.2017


Ответы (6)


Я нашел помощь в файле Readme.md в пакете pdftotext:

1) Установите зависимости ОС:

на Debian, Ubuntu и др.:

sudo apt-get update
sudo apt-get install build-essential libpoppler-cpp-dev pkg-config python-dev

на Fedora, Red Hat и друзьях:

sudo yum install gcc-c++ pkgconfig poppler-cpp-devel python-devel redhat-rpm-config

2) Выполните обычную установку:

pip install pdftotext

и это сработало для меня.

person herve-guerin    schedule 25.10.2017
comment
Большое спасибо. Работал и для меня. - person Philippe Delteil; 28.03.2019

Я несколько дней пытался понять, как установить pdftotext на Win10. Поиски в инете мне ничего не дали. Итак, для тех, кому нужно знать, вот установка pdftotext на Win10 с помощью Anaconda. YMMV.

Установите Анаконду Python. Есть много статей по установке Anaconda, поэтому я не буду здесь их рассматривать.

Попробуйте запустить pip install pdftotext, вы получите сообщение об ошибке, что требуется Microsoft Visual C++.

В браузере перейдите на страницу http://visualstudio.microsoft.com/downloads. На вкладке «Инструменты для Visual Studio 2019» загрузите инструменты сборки для Visual Studio 2019. Затем вы установите инструменты, установив флажок «Инструменты сборки C++» и нажав «Установить».

Теперь вы должны установить pip, чтобы пройти мимо ошибки VC++. К сожалению, теперь вы получите сообщение об ошибке «Не удается открыть включаемый файл: poppler/cpp/poppler-document.h». Это потому, что вам не хватает библиотек poppler.

Возвращайтесь в интернеты! Вам понадобится поплер для окон. На момент написания этой статьи лучший вариант — http://blog.alivate.com.au/poppler-windows. Возьмите последний двоичный файл и распакуйте его. Если вы посмотрите на ошибку, pip ищет файл заголовка в {каталоге Anaconda3}\include\poppler\cpp\poppler-document.h. Так что загляните в архив, который вы только что разархивировали. В папке include вы увидите каталог poppler. Если вы спуститесь в каталог cpp, там вы найдете файл poppler-document.h.

Я скопировал весь каталог poppler в папку Anaconda3\include, так что сделайте это.

Если вы попытаетесь запустить pip install еще раз, вы все равно получите массу ошибок! Но это не одна из ошибок, которые вы видели ранее, вместо этого эта ошибка ищет отсутствующую связанную библиотеку, poppler-cpp.lib. Поиск по установкам Conda на другом компьютере нашел этот файл в пакете poppler. Так

conda установить -c conda-forge поплер

Который установит наш файл poppler-cpp.lib. Затем мы можем скопировать файл из его дома в {каталог Anaconda3}\Library\lib\poppler-cpp.lib и вставить его туда, где его ожидает pdftotext, в {каталог Anaconda3}\libs.

Если мы снова сделаем pip install pdftotext, вот оно! Я уверен, что кто-то найдет способ немного улучшить это, но пока у нас есть работающая библиотека Python pdftotext для Win10.

Эти инструкции со скриншотами можно найти в моем блоге https://coder.haus/2019/09/27/installing-pdftotext-through-pip-on-windows-10/

person Jason Woods    schedule 27.09.2019
comment
Большое спасибо за подробные инструкции в вашем блоге, я выполнил шаги и смог установить библиотеку на win10 x64. Хотел бы добавить только одну вещь: при установке инструментов сборки C++ ранее я отключил все 4 необязательных компонента, но без них это не работало, поэтому стоит упомянуть в блоге, что они тоже необходимы. Их точные названия: MSVC v142 — инструменты сборки VS 2019 C++ x64/x86, Windows 10 SDK (10.0.18362.0), инструменты C++ CMake для Windows, основные функции инструментов тестирования — инструменты сборки - person Harshad Vyawahare; 14.10.2019
comment
Спасибо за отзыв, Харшад, и рад, что это сработало для вас! Я посмотрю на инструкции и обновлю их. В качестве примечания: в проект был объединен PR, чтобы упростить установку в Windows, что в конечном итоге приведет к PyPi. Сопровождающий проекта также собирается генерировать предварительно скомпилированные двоичные файлы для Windows без каких-либо ожидаемых сроков. - person Jason Woods; 22.10.2019
comment
Эй, приятель, большое спасибо за эти шаги, все прекрасно работало до шага conda install -c conda-forge poppler. Сбор метаданных пакета (current_repodata.json): выполнен. Среда решения: не удалось выполнить первоначальное замороженное решение. Повторная попытка с гибким решением. Среда решения: ошибка с реподанными из current_repodata.json, будет повторена попытка со следующим источником реподанных. Сбор метаданных пакета (repodata.json): выполнено Среда решения: не удалось выполнить первоначальное замороженное решение. Повторная попытка с гибким решением. Решающая среда: - Найдены конфликты! Поиск несовместимых пакетов... - person Ming Xuan; 11.11.2019
comment
Затем он продолжает проверять кучу вещей, он работает уже 10 часов подряд и до сих пор не завершен. Любая идея о том, что происходит? - person Ming Xuan; 11.11.2019
comment
Через 24 часа проверка в конечном итоге не удалась, как и установка! UnsatisfiableError: Следующие спецификации оказались несовместимыми друг с другом: (самый длинный список, который я когда-либо видел, следует ниже). TL;DR: у меня не работает. Если кому-то удалось пройти этот шаг, дайте мне знать! - person Ming Xuan; 12.11.2019
comment
Привет @MingXuan, это часто происходит из-за того, что другой модуль конфликтует либо с poppler, либо с версией Python, которая у вас есть. Первые несколько строк сообщают вам, какой модуль находится в конфликте, например UnsatisfiableError: Следующие спецификации оказались конфликтующими: — enum34 —> python 2.6*|2.7*|3.3*|3.5* — python ==3.6.0 Take взгляните на этот пост SO, у него есть несколько способов, которыми вы можете справиться с этим, инициализируя новую среду conda -found-to-be-in" title="anaconda unsatisfiableerror следующие спецификации были обнаружены в">stackoverflow.com/questions/48589141/ - person Jason Woods; 18.11.2019
comment
Я думаю, это здорово, но есть ли обходной путь для невозможности установить инструменты сборки для Visual Studio 2019? Я работаю с заблокированным ноутбуком, и нам не разрешено устанавливать это программное обеспечение. - person clover; 31.12.2019
comment
Привет @clover, если не спрашивать разрешения на установку, варианты невелики. Специалист по сопровождению пакета Python pdftotext еще не настроил CI для Windows, поэтому предварительно скомпилированный пакет недоступен. Судя по ветке их репозитория на github, они работают над этим. Если у вас есть программное обеспечение для виртуальных машин, такое как HyperV, VirtualBox, Parallels и т. д., вы можете загрузить виртуальную машину Windows непосредственно из Microsoft, установить свои инструменты и сопоставить диск с вашим кодом на локальном компьютере. Я делаю это на своей корпоративной машине. Microsoft делает виртуальную машину доступной по адресу developer.microsoft.com/en-us/ окна/загрузки/ - person Jason Woods; 31.12.2019
comment
Работает хорошо! Спасибо - person Alessandro Corradini; 02.01.2020
comment
Это сработало для меня на win10, спасибо! - person mrbTT; 09.03.2021

Команда ниже решила проблему для меня.

sudo apt-get install libpoppler-cpp-dev

https://blog.droidzone.in/2018/05/01/install-pdftotext-python-extension-error/

person Ajay Singh    schedule 05.06.2018
comment
это помогло мне установить. - person Kvvaradha; 16.03.2021

И для mac os: варить установить poppler

person Dasma    schedule 29.12.2018

Для пользователей Убунту

sudo apt-get install libpoppler58=0.41.0-0ubuntu1 libpoppler-dev libpoppler-cpp-dev

работал на меня

person Sami    schedule 03.04.2019

Простое решение для окон:

  1. Загрузите ZIP-файл poppler с http://blog.alivate.com.au/wp-content/uploads/2018/10/poppler-0.68.0_x86.7z
  2. Загрузите и установите инструменты Visual Studio с сайта https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15
  3. Установите путь к папке \poppler-0.68.0\bin в переменных окружения.

Вот и все. Перезапустите вашу среду, например, Jupyter Notebook, vscode и т. д. Наслаждайтесь

person West    schedule 20.03.2020
comment
Блог больше не ведется. Скачать здесь: github.com/oschwartz10612/poppler-windows - person Owen Schwartz; 28.06.2020