Я пытаюсь использовать pdftotext, но он не импортируется.
Я использую Windows 10 (64-разрядная версия) на рабочем ноутбуке Lenovo IdeaPad S340.
Следуя указаниям здесь и здесь (что было очень полезно), я:
- Установлены инструменты сборки Microsoft Visual C++.
- Установил Анаконду.
- Получил последнюю версию Anaconda и обновил ее, используя отдельные команды Anaconda3 для каждого из этих шагов. Я не помню команды, и не нашел их снова.
- Обновлен Microsoft Visual 14.
- Используется conda для установки poppler с помощью команды Anaconda3:
conda install -c conda-forge poppler
- Используется pip для установки pdftotext с помощью команды Anaconda3:
pip install pdftotext
После этого:
Это происходит в командной строке Python 3.8 (32-разрядная версия):
>>> import pdftotext
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'pdftotext'
>>>
Это происходит в оболочке IDLE Python 3.75 (64 бит):
>>> import pdftotext
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import pdftotext
ModuleNotFoundError: No module named 'pdftotext'
>>>
Это происходит в командной строке Anaconda3:
import pdftotext
'import' is not recognized as an internal or external command,
operable program or batch file.
Это также происходит в командной строке Anaconda3:
pip install pdftotext
Requirement already satisfied: pdftotext in c:\programdata\anaconda3\lib\site-packages (2.1.4)
Означает ли это, что он работает только на Python 2? Как бы я проверил это заранее? Если он работает только на Python 2, можете ли вы порекомендовать пакет/модуль/библиотеку Python 3 (кстати, в чем разница?) для чтения PDF в обычный текстовый файл?
Спасибо за вашу помощь!
Обновление:
Я начал с нового пользователя на той же машине и с той же ОС (у другого пользователя был пробел в имени, поэтому в его пути к файлу был пробел, что может вызвать проблемы). Я сталкиваюсь с той же проблемой.
У меня Python 3.7.6 и 3.8.1. Python 3.7.6 — это то, что отображается при проверке версии через приглашение Anaconda3 python -V
(3.7.6.final.0 при использовании conda info
).
У меня тоже есть:
- Версия Anaconda «пользовательская», сборка py37_1.
- conda 4.8.2, py37_0, канал conda-forge.
- поплер 0.84.0, h1affe6b_0, conda-forge.
- pdftotext 2.1.4, pypi_0, pypi.
Я нашел Python здесь: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64.
Я искал глазами все программные файлы, пользовательские файлы и Anaconda Navigator, я провел поиск по всему диску C для «pdftotext» и ничего не нашел о pdftotext.
Попытка из оболочки IDLE Python 3.7.6 также не сработала.
Обновление:
Я разобрался, вроде. pdftotext не работает как импорт Python, поскольку его использует пример кода в PyPI. Но он работает как инструмент командной строки, являющийся частью Xpdf, без дополнительная установка после шагов.
Я использовал команду в командной строке Anaconda3 PowerShell:
pdftotext C:\filepath\file.pdf
Затем он создал текстовый файл с тем же именем и сохранил его в той же папке. Существуют дополнительные параметры для команды, описанной на странице Xpdf, на которую я ссылался выше (например, установка имени файла).
Ноуууу, это решение неудовлетворительное. Я могу позаботиться о своей текущей задаче варианта использования с помощью дополнительного шага, но я все еще не могу вызвать pdftotext из программы Python.
Обновление:
Если вы устанавливаете pdftotext с помощью Anaconda и conda, то его импорт работает только тогда, когда вы запускаете его в интерпретаторе Python из оболочки Anaconda3.
Итак, сначала мне пришлось переключиться в режим интерпретатора Python в Anaconda3 PowerShell: python
Затем я мог импортировать pdftotext без ошибок: import pdftotext
Это выглядело так:
(user)> python
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pdftotext
>>>
pip3 install pdftotext
? - person SuperKogito   schedule 29.01.2020!pip install pdftotext
(это обычно работает для меня на Spyder), но я бы не советовал этот хак. Лучшее, что вы можете сделать, это сначала выяснить, какие версии Python у вас есть и где они находятся. Вы можете обратиться к этому, чтобы проверьте версии. Не стесняйтесь опубликовать вывод, это должно помочь нам лучше понять проблему. - person SuperKogito   schedule 29.01.2020conda info
). У меня также есть: пользовательская версия Anaconda, сборка py37_1; conda 4.8.2, py37_0, канал conda-forge; poppler 0.84.0, h1affe6b_0, conda-forge; и pdftotext 2.1.4, pypi_0, pypi. - person Kaleb Coberly   schedule 05.02.2020