Запуск кода из Jupyter-Notebook завершается неудачно, но без проблем работает в Терминале - PullRequest
0 голосов
/ 01 марта 2020

Я наткнулся на загадку с помощью ноутбука Jupyter в Анаконде на Ма c. Моя настройка:

MacOS Catalina 10.15.3 (default shell zsh)
Anaconda-Navigator 1.9.12
Jupyter-client 5.3.4
Jupyter-console 6.1.0
Jupyter-core 4..1

По сути, у меня есть код Python для извлечения текста из старого документа Word. Код использует библиотеку textract (https://textract.readthedocs.io/en/latest/index.html). К сожалению, эта библиотека не включена в Anaconda и имеет некоторые другие зависимости, особенно в этом случае это библиотека с именем antiword.

Шаги, которые я предпринял до сих пор:

  1. Установил Ma c Портирует и использует его для установки нескольких пакетов (например, poppler, antiword, unrtf, tesseract, swig). Установка оказалась успешной. Каталоги / opt / local и / opt / local / bin (где находятся указанные выше двоичные файлы) были добавлены в $ PATH без проблем.

  2. Создана среда (myenv) в Анаконде, используя Python 3.8. Добавлены различные библиотеки, включая jupyter.

  3. Открыт терминал с активированным myenv. Установленный textract с помощью:

    % pip install textract

Казалось бы, все это работает нормально, и сообщений об ошибках не было.

Теперь, если я открою myenv с Python или i Python из приложения Anaconda-Navigator открывает окно терминала, и я могу выполнить следующие команды:

>>> import textract
>>> myText = textract.process('path-to-doc-file')
>>> print(myText)

Выход из последней команды, как и ожидалось, весь текст, содержащийся в документе Word. Это поддерживает идею о том, что все необходимые библиотеки и зависимости установлены правильно.

Если я открою среду myenv с помощью Jupyter Notebook из приложения Anaconda-Navigator, появится веб-страница, и я смогу создать новую записную книжку. Однако, если я попытаюсь выполнить точно такие же команды в ячейке ноутбука, я получу следующие ошибки:

FileNotFoundError: [Errno 2] No such file or directory: 'antiword'

The command `antiword path-to-file.doc` failed because the executable `antiword` is not installed on your system. Please make sure the appropriate dependencies are installed before using textract

Я был удивлен, потому что думал, что Python используется в Терминале и в Ноутбуки Jupyter были по сути одинаковыми. И все же, похоже, что в этой ситуации это не так.

Я пропустил важный этап настройки?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...