Тайм-аут при запуске iPython nbconvert из командной строки - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь автоматизировать сценарии IPython, используя пакетные файлы и диспетчер задач Windows. После долгих копаний я обнаружил, что вы можете использовать диспетчер задач для запуска BAT и выполнить пакет nbconvert, чтобы запустить блокнот Jupyter без интерактивных битов.

В BAT мой код сначала " превращает Windows cmd в Anaconda Prompt " с кодом: <anaconda3 path>\Scripts\activate.bat <anaconda3 path>

(Нет формального образования в области КС, так что терпите меня.)

Эта строка позволяет мне запускать команды conda и jupyter из Windows cmd. Затем я запускаю

jupyter nbconvert --execute --ExecutePreprocessor.enabled=True --ExecutePreprocessor.timeout=60 <Notebook>

Я получаю сообщение об ошибке тайм-аута, когда это происходит. Да, я мог бы настроить таймер, но прежде чем установить таймер на 10 часов и вернуться утром, я надеюсь получить некоторое представление о том, что происходит за кулисами в nbconvert, и, возможно, кое-что понять, как получить это работает. Файл .ipynb отлично работает при запуске через Jupyter Notebook. Однако есть момент, когда скрипт пытается загрузить несколько гигабайт данных, что занимает ~ 20 минут каждый раз, когда я запускаю его.

С этой целью - когда nbconvert задействует препроцессоры, они исполняют весь сценарий превентивно? Я изо всех сил пытаюсь найти причину, почему ничего не открывается, не проверяет, не запускает, не обновляет и т.д. ... при выполнении команды nbconvert. Я ожидал бы, по крайней мере, увеличения использования оперативной памяти, но, насколько я могу судить, этого тоже не происходит.

Как я могу обойти это и что происходит за кулисами при выполнении nbconvert?

Traceback:

C:\Users\User>jupyter nbconvert --execute "C:\Users\User\Desktop\_for_Python\CBSA.ipynb"  
[NbConvertApp] Converting notebook C:\Users\User\Desktop\_for_Python\CBSA.ipynb to html  
[NbConvertApp] Executing notebook with kernel: python3  
[NbConvertApp] ERROR | Timeout waiting for execute reply (30s).  
Traceback (most recent call last):  
  File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\nbconvert\preprocessors\execute.py", line 423, in _wait_for_reply  
    msg = self.kc.shell_channel.get_msg(timeout=timeout)  
  File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\jupyter_client\blocking\channels.py", line 57, in get_msg  
    raise Empty  
_queue.Empty

1 Ответ

0 голосов
/ 07 января 2019

Исправлено добавлением пути Anaconda3/Library/Bin к c/windows/system32 PATH. Тайм-аут произошел из-за ошибки DLL, возвращаемой в командной строке как Таймаут.

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