Вы можете запланировать запуск сервера на порту, например, порт = 8000. Найдите URL-адрес для использования таким образом.
from google.colab.output import eval_js
print(eval_js("google.colab.kernel.proxyPort(8000)"))
# https://z4spb7cvssd-496ff2e9c6d22116-8000-colab.googleusercontent.com/
Затем запустите сервер, например,
!python -m http.server 8000
и нажмите первую ссылку выше (вместо localhost или 127.0.0.1)
Отображение в ячейке
Вы можете отобразить результат в iframe в выходной части. Я превратил это в простую функцию для вызова.
from IPython.display import Javascript
def show_port(port, height=400):
display(Javascript("""
(async ()=>{
fm = document.createElement('iframe')
fm.src = await google.colab.kernel.proxyPort(%s)
fm.width = '95%%'
fm.height = '%d'
fm.frameBorder = 0
document.body.append(fm)
})();
""" % (port, height) ))
Теперь вы можете запустить веб-приложение (здесь это http.server) в фоновом режиме. И отобразите результат в виде iframe под ним.
get_ipython().system_raw('python3 -m http.server 8888 &')
show_port(8888)
Чтобы остановить сервер, вы можете вызвать ps
и завершить процесс.