How To Use Flask In Google Colaboratory Python Notebook?
I am trying to build a website using Flask, in a Google Colab Python notebook. However, running a regular Flask code that works on a regular Python, fails to work on Google Colab.
Solution 1:
The server code:
import socket
print(socket.gethostbyname(socket.getfqdn(socket.gethostname())))
from flask import Flask
app = Flask(__name__)
@app.route("/")defhello():
return"Hello World!"import threading
threading.Thread(target=app.run, kwargs={'host':'0.0.0.0','port':80}).start()
Client code:
import requests
r = requests.get("http://172.28.0.2/")
print(r.status_code)
print(r.encoding)
print(r.apparent_encoding)
print(r.text)
To restart Flask you may click menu: runtime->restart runtime
Share link here :
Solution 2:
!pip install flask-ngrok
from flask import Flask
from flask import request
from flask_ngrok import run_with_ngrok
app = Flask(__name__)
run_with_ngrok(app) # Start ngrok when app is run# for / root, return Hello Word@app.route("/")defroot():
url = request.method
returnf"Hello World! {url}"
app.run()
https://medium.com/@kshitijvijay271199/flask-on-google-colab-f6525986797b
Solution 3:
from flask_ngrok import run_with_ngrok
from flask import Flask
app = Flask(__name__)
run_with_ngrok(app)
@app.route("/")defhome():
returnf"Running Flask on Google Colab!"
app.run()
Solution 4:
The server side code AKA: backend
from flask import Flask
import threading
app = Flask(__name__)
@app.route("/")defhello():
return"Hello World!"
threading.Thread(target=app.run, kwargs={'host':'0.0.0.0','port':6060}).start()
Rendering the server inside the colab
import IPython.display
defdisplay(port, height):
shell = """
(async () => {
const url = await google.colab.kernel.proxyPort(%PORT%, {"cache": true});
const iframe = document.createElement('iframe');
iframe.src = url;
iframe.setAttribute('width', '100%');
iframe.setAttribute('height', '%HEIGHT%');
iframe.setAttribute('frameborder', 0);
document.body.appendChild(iframe);
})();
"""
replacements = [
("%PORT%", "%d" % port),
("%HEIGHT%", "%d" % height),
]
for (k, v) in replacements:
shell = shell.replace(k, v)
script = IPython.display.Javascript(shell)
IPython.display.display(script)
display(6060, 400)
Post a Comment for "How To Use Flask In Google Colaboratory Python Notebook?"