Iván Iglesias
@jefe21054
Ingeniero de Datos e IA | Python, SQL, PySpark, Stratio, AWS, Azure, Django, JavaScript, Java.
Quito, Ecuador
@jefe21054
Ingeniero de Datos e IA | Python, SQL, PySpark, Stratio, AWS, Azure, Django, JavaScript, Java.
Quito, Ecuador
Iván Iglesias@jefe21054
Específicamente no funciona el import de pipeline, alguien sabe si cambió de nombre o algo así?, como ocurrió con gpt_index que ahora se importa con el nombre llama_index??
Iván Iglesias@jefe21054
I'm working for Amazon. I'm studying Data Science. I'm waking up at 6 a.m. every morning. I'm practicing my coding skills every evening.
Iván Iglesias@jefe21054
A partir de Flask-SQLAlchemy 3.0, todos los accesos a db.engine (y db.session) requieren un contexto de aplicación Flask activo. db.create_all utiliza db.engine, por lo que requiere un contexto de aplicación. La solución es muy sencilla en lugar del comando: '$python' dentro de su terminal deben abrir una shell de Flask con el comando '$flask shell' para iniciar un shell Python que ya tiene un contexto de aplicación y el objeto 'db' importado. Funciona tanto en Windows como Linux.
Iván Iglesias@jefe21054
Buenas noches, si alguien le ocurre este error al tratar de levantar el servidor y está usando Windows para desarrollar con Python, dos cosas, la primera es que hay que cambiarse de SO para desarrollar, y la segunda es que se soluciona muy fácil:
Error traceback: Usage: flask run [OPTIONS] Try 'flask run --help' for help.
Error: While importing 'app', an ImportError was raised:
Traceback (most recent call last):
File "D:\REPOS\Flask-Learning-Advanced\venv\lib\site-packages\flask\cli.py", line 218, in locate_app
import(module_name)
File "D:\REPOS\Flask-Learning-Advanced\app.py", line 11, in
File "D:\REPOS\Flask-Learning-Advanced\venv\lib\site-packages\flask_sqlalchemy\extension.py", line 614, in _make_engine
return sa.engine_from_config(options, prefix="")
File "D:\REPOS\Flask-Learning-Advanced\venv\lib\site-packages\sqlalchemy\engine\create.py", line 813, in engine_from_config
return create_engine(url, **options)
File "
Solución: Ejecutar el comando 'pip install psycopg2' dentro del entorno virtual. O agregar psycopg2 a su archivo requirements.txt y ejecutar el comando 'pip install -r requirements.txt'
Iván Iglesias@jefe21054
Si desean trabajar de la misma manera que muestra el profesor en un entorno Windows 11 o 10 deberán abrir como administrador tanto el editor de código como las terminales. Recomiendo trabajar únicamente con command prompt, en lugar de Power Shell que es la terminal por defecto en Windows 11; buscar cmd en inicio o la opción de búsqueda y escoger la opción 'Abrir carpeta contenedora'/'Open file location ' y una vez ahí hacer clic derecho al archivo de acceso directo de command prompt y darle a la opción 'Propiedades'/'Properties', cuando se abra la ventana, dirigirse al botón 'Advanced...'/'Avanzado...' y se abre una ventanita, marcar la opción 'Run as administrator'/'Ejecutar como administrador', clic en 'OK'/'Aceptar', clic en 'Apply'/'Aplicar' y listo pueden cerrar esa ventanita. Ahora busquen nuevamente cmd y den Enter. ya se ejecutará siempre como administrador. En command prompt abierta cambiarse a la carpeta del proyecto con cd carpeta\del\proyecto (donde esté el archivo .py que deseamos ejecutar) y una vez en esa ruta escribir el comando 'code .' si tienen Visual Studio Code o el comando 'codium .' si instalaron VSCodium como yo y se les abrirá su editor de código en forma de administrador con la carpeta donde están sus archivos abierta. 'Ctrl+J' para abrir la terminal en su editor de código, si están en Windows 10 ya pueden seguir el paso a paso de este curso, incluso con la versión nueva de Flask servirá, dado que la terminal por defecto en Windows 10 es command prompt; pero si están en Windows 11, una vez abierta la terminal dentro de VSCode/VSCodium por defecto se abre Power Shell, que no está preparada al 100% para manipular variables de entorno y más si abrieron su virtual environment, por lo que deben dar clic en la una flechita hacia abajo junto a un '+' grande y elegir Command Prompt y si quieren con el ícono del basurero cierran la que abrió al inicio con Power Shell y se quedan con la que tiene el símbolo con 'C:', ahí ya tendrán un terminal de Windows con privilegios administrativos (necesarios) y que permite realizar el paso a paso de este curso completo. PD: SIEMPRE abrir su editor de código mediante cmd dentro de la carpeta de su proyecto, para que el editor se abra con privilegios administrativos (COMANDOS: 'code .' si tienen Visual Studio Code o 'codium .' si instalaron VSCodium).
Iván Iglesias@jefe21054
Ojalá hubiese aprendido así desde que empecé a estudiar
Iván Iglesias@jefe21054
Buenas noches con todos, para quienes estén desarrollando en un sistema Linux como yo, los siguientes consejos son muy útiles. Si fueron observadores de clases anteriores. el profesor tenía apagado su servidor de Laragon en Windows, esto quiere decir que los puertos 80 del servidor web y 3306 de MySQL están disponibles en el sistema, que ocupó para el desarrollo de este taller con Laragon. En Linux para emular los servicios de Laragon en WIndows dependemos del stack LAMP (Linux, Apache2, MariaDB o MySQL, PHP8), o bueno fue lo que hice en mi caso (ocupo Linux Mint 21), y para que docker pueda construir la imagen de manera correcta mediante docker-compose deben estar disponibles los puertos 80 y 3306 en el sistema, esto en Windows se logra apagando Laragon, mientras que en Linux son puertos ocupados por servicios siempre activos (apache2 ocupa el puerto 80 y MariaDB o MySQL ocupan el puerto 3306), la solución a los errores de creación de docker-compose en Linux es apagar esos servicios o desactivarlos, esto se realiza con los siguientes comandos en la terminal: 'systemctl stop apache2.service' 'systemctl stop mysql.service' 'systemctl stop mariadb.service' y se puede verificar si están activos o no con los siguientes: 'systemctl status apache2.service' 'systemctl status mysql.service' 'systemctl status mysql.service'. Una vez desactivados, los puertos se encuentran libres a nivel del sistema y pueden ejecutar el comando: 'docker-compose up -d' en la carpeta que contiene el archivo .yml y pueden continuar con el curso.