Перезагрузка модулей в JupyterLab не работает, пока я не перезапущу сервер. ⇐ Python
Перезагрузка модулей в JupyterLab не работает, пока я не перезапущу сервер.
Я столкнулся с проблемами при внесении изменений в пользовательский модуль и использовании его в сеансе Jupyter. Изменения в моем модуле не вступят в силу, пока я не перезапущу сервер. Не ядро. Сервер. Перезапуск ядра не работает по загадочным причинам.
Я знаю, что есть некоторые предостережения и неинтуитивные вещи при изменении модулей и попытке импортировать их в сеансе Jupyter. Обычно я бы использовал волшебную команду
%load_ext автоперезагрузка %автоперезагрузка 2 Или, когда необходимо, явно
из перезагрузки импорта importlib перезагрузить (модуль) модуль импорта Ни то, ни другое не работает. Перезапуск ядра не помогает. Я продолжаю получать:
ile /gpfs/soma_fs/scratch/meulemeester/project_src/in_silico_framework/visualize/vtk.py:226, в write_vtk_skeleton_file() 222 возврат диаметр_строка 224 раздела = таблица поиска['sec_n'].unique() --> 226 сома = таблица_поиска[таблица_поиска['sec_n'] == 0].groupby['sec_n'].mean().reset_index() 227 таблица_поиска = pd.concat(soma, таблица_поиска[таблица_поиска['sec_n'] != 0]) 228 для имени данных, данные в point_scalar_data.items(): AssertionError: Длина скалярных данных точки «Vm» не соответствует количеству точек. Скалярные данные: 13919. Количество баллов: 13962. Эта ошибка утверждения раньше была в строке 226, прежде чем я ее изменил. Сейчас это строка 229. После перезапуска ядра эта ошибка сохраняется.
Я предполагаю (но это всего лишь предположение, и я очень не уверен), что мой сервер Jupyter использует некоторые кэшированные версии этих модулей, и их перезагрузка в блокнот фактически ничего не дает. Или PATH был странным образом адаптирован, но тогда я ожидал бы получить явные ошибки импорта, а не это... Я не знаю, что здесь происходит, и был бы очень признателен за помощь!
Если это будет полезно, я запускаю свой сервер Jupyter из скрипта Python как такового:
command = [ 'Юпитер-лаборатория', "--ip='*'", '--без браузера', '--port={}'.format(lab_port), "--NotebookApp.allow_origin='*'" ] log = open(os.path.join(management_dir, "jupyter.txt"), 'a') subprocess.Popen(команда, stdout=журнал, stderr=журнал)
Я столкнулся с проблемами при внесении изменений в пользовательский модуль и использовании его в сеансе Jupyter. Изменения в моем модуле не вступят в силу, пока я не перезапущу сервер. Не ядро. Сервер. Перезапуск ядра не работает по загадочным причинам.
Я знаю, что есть некоторые предостережения и неинтуитивные вещи при изменении модулей и попытке импортировать их в сеансе Jupyter. Обычно я бы использовал волшебную команду
%load_ext автоперезагрузка %автоперезагрузка 2 Или, когда необходимо, явно
из перезагрузки импорта importlib перезагрузить (модуль) модуль импорта Ни то, ни другое не работает. Перезапуск ядра не помогает. Я продолжаю получать:
ile /gpfs/soma_fs/scratch/meulemeester/project_src/in_silico_framework/visualize/vtk.py:226, в write_vtk_skeleton_file() 222 возврат диаметр_строка 224 раздела = таблица поиска['sec_n'].unique() --> 226 сома = таблица_поиска[таблица_поиска['sec_n'] == 0].groupby['sec_n'].mean().reset_index() 227 таблица_поиска = pd.concat(soma, таблица_поиска[таблица_поиска['sec_n'] != 0]) 228 для имени данных, данные в point_scalar_data.items(): AssertionError: Длина скалярных данных точки «Vm» не соответствует количеству точек. Скалярные данные: 13919. Количество баллов: 13962. Эта ошибка утверждения раньше была в строке 226, прежде чем я ее изменил. Сейчас это строка 229. После перезапуска ядра эта ошибка сохраняется.
Я предполагаю (но это всего лишь предположение, и я очень не уверен), что мой сервер Jupyter использует некоторые кэшированные версии этих модулей, и их перезагрузка в блокнот фактически ничего не дает. Или PATH был странным образом адаптирован, но тогда я ожидал бы получить явные ошибки импорта, а не это... Я не знаю, что здесь происходит, и был бы очень признателен за помощь!
Если это будет полезно, я запускаю свой сервер Jupyter из скрипта Python как такового:
command = [ 'Юпитер-лаборатория', "--ip='*'", '--без браузера', '--port={}'.format(lab_port), "--NotebookApp.allow_origin='*'" ] log = open(os.path.join(management_dir, "jupyter.txt"), 'a') subprocess.Popen(команда, stdout=журнал, stderr=журнал)
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение