У меня есть ipython-ноутбук со встроенным изображением с моего локального диска. Я ожидал, что он будет встроен в JSON вместе с выходом кодовых ячеек, но когда я распределил ноутбук, изображение не появилось для пользователей. Каков рекомендуемый способ (или способы) встраивания изображения в блокнот, чтобы он не исчезал, если пользователи повторно запускают ячейки кода, очищают вывод ячеек и т.д.?
Система ноутбуков кэширует изображения, включенные в ![label](image.png)
, но они сохраняются до тех пор, пока не перезапустится "ядро" python, обслуживающее ноутбук. Если я переименую файл изображения на диск, я могу закрыть и снова открыть ноутбук, и он все еще показывает изображение; но он исчезает, когда я перезапускаю ядро.
Изменить: Если я создаю изображение как вывод кодовой ячейки, а затем экспортирую ноутбук в html, изображение будет встроено в html в виде закодированных данных. Разумеется, должен быть способ подключиться к этой функции и загрузить вывод в ячейку уценки (или, еще лучше, "raw nbconvert" )?
from IPython.display import Image
Image(filename='imagename.png')
будет экспортироваться (с ipython nbconvert
) в html, который содержит следующее:
<div class="output_png output_subarea output_execute_result">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAnAAAAFgCAYAAAA...
</div>
Однако, даже когда я вручную встроил этот фрагмент в ячейку уценки, я не смог получить изображение для отображения. Что я делаю неправильно?
PS Существующий (старый) ответ дает некоторые очень полезные указатели, но не решение.