Spaces:
Paused
Paused
File size: 2,405 Bytes
bc37cf8 9d0f13c bc37cf8 e0e84a7 f297386 dd7318c 9d0f13c f297386 bc37cf8 f297386 dd7318c f297386 bc37cf8 f297386 bc37cf8 e0e84a7 bc37cf8 d2593dd bc37cf8 e0e84a7 bc37cf8 e0e84a7 bc37cf8 f297386 dd7318c e0e84a7 d2593dd e0e84a7 d2593dd bc37cf8 dd7318c bc37cf8 dd7318c f297386 dd7318c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# Filename: /home/user/app/app.py
# Version: 1691068773 (Unix timestamp at creation moment)
import os
import subprocess
# Definir el archivo de log antes de instalar las bibliotecas
log_file = "/home/user/app/app.log"
# Instalar las bibliotecas necesarias
def install_packages():
# Instalar los paquetes necesarios si aún no están instalados
with open(log_file, "a") as f:
f.write("===== Installing Packages =====\n")
subprocess.run(['pip3', 'install', '--quiet', 'jupyterlab', 'flask', 'gradio'], check=True, stdout=f, stderr=f)
install_packages()
# Ahora importar las bibliotecas necesarias
from flask import Flask, redirect
import gradio as gr
from werkzeug.serving import WSGIRequestHandler
app = Flask(__name__)
def configure_jupyter():
# Generar la configuración de Jupyter
jupyter_config_dir = os.path.expanduser('~/.jupyter')
os.makedirs(jupyter_config_dir, exist_ok=True)
config_file = os.path.join(jupyter_config_dir, 'jupyter_lab_config.py')
jupyter_password = os.environ.get('JUPYPASS', '')
password_config = f"c.ServerApp.password = u'{jupyter_password}'" if jupyter_password else ''
with open(config_file, 'w') as f:
f.write(f"""
c.ServerApp.ip = '0.0.0.0'
c.ServerApp.port = 8898
c.ServerApp.open_browser = False
{password_config}
c.ServerApp.root_dir = '/home/user/app'
c.ServerApp.terminado_settings = {{'shell_command': ['bash']}}
c.ServerApp.allow_root = True
""")
def start_jupyter():
# Iniciar JupyterLab en el puerto 8888 con autoreload
with open(log_file, "a") as f:
subprocess.Popen(['jupyter-lab', '--port', '8888', '--autoreload'], stdout=f, stderr=f)
@app.route('/')
def home():
def greet(name):
return f"Hello {name}!"
with gr.Blocks() as demo:
gr.Interface(fn=greet, inputs="text", outputs="text")
return demo.launch(inline=True)
@app.route('/lab')
def lab():
return redirect("http://localhost:8898", code=302)
if __name__ == "__main__":
with open(log_file, "a") as f:
f.write("===== Application Startup at {0} =====\n".format(subprocess.run(['date'], capture_output=True, text=True).stdout))
configure_jupyter()
start_jupyter()
# Deshabilitar los logs para Flask
WSGIRequestHandler.log_request = lambda self, *args, **kwargs: None
app.run(host='0.0.0.0', port=7860, debug=False) |