Configuración e instalación de dependencias para el proyecto PlatziMongo
18/26
Lectura
¡Hola! Ahora vamos a aplicar todo lo aprendido durante el curso en la creación de un proyecto que usará MongoDB. ¡No te preocupes! Este módulo es completamente opcional, si quieres puedes saltarte al siguiente módulo. El examen no incluye preguntas sobre este módulo 😉.
🐍 ¡Crearemos una pequeña API desarrollada con Python la cual simulará ser un mini Platzi! Esta es una aplicación backend que se comunicará con nuestra base de datos mediante el driver Pymongo. En esta clase aprenderás a cómo instalar y configurar todas las herramientas que necesitarás para trabajar el proyecto de PlatziMongo. En resumen, esto es lo que haremos:
Descargaremos el código base de nuestro proyecto desde GitHub.
Instalaremos Postman para facilitarnos interactuar con nuestra API.
Crearemos un entorno virtual con Python.
Instalaremos las dependencias de nuestro proyecto.
¡Estableceremos las configuraciones finales para que nuestro proyecto empiece a funcionar!
¡Así que vamos a ello!
Clonando el repositorio del proyecto
Lo primero que necesitamos hacer es clonar el repositorio del proyecto, esto lo puedes hacer con el siguiente comando en la carpeta de tu preferencia:
git clonehttps://github.com/AERC18/platzi-mongo
Este repositorio incluye el código base de nuestro proyecto, en las próximas clases nos encargaremos de completarlo añadiendo las consultas necesarias a nuestra base de datos.
Adicionalmente, puedes ver el código de cada clase en las diferentes ramas que incluye este proyecto. Puedes ver las ramas ejecutando el siguiente comando dentro de la carpeta del mismo:
gitbranch
Instalación de Postman
Ya que tenemos el código base de nuestra mini API descargado, ahora necesitamos una manera de comunicarnos con ella. Recuerda que este código que descargamos es de una aplicación backend que se comunicará con nuestra base de datos en Mongo, y como toda aplicación backend, esta necesita recibir solicitudes HTTP para realizar las acciones necesarias.
Podríamos hacer una aplicación frontend que se encargue de mandar estas solicitudes, o podríamos apoyarnos de herramientas como Postman que se encargan de mandar estas solicitudes hacia cualquier backend, así nos ahorramos el tener que programar una aplicación frontend 😉.
A continuación te explico los pasos para que descargues Postman:
Ejecuta el instalador, Postman se instalará y configurará automáticamente, tú solo espera.
¡Ya tienes instalado Postman! Te recomiendo crear una cuenta para usar Postman. Puedes registrarte por medio de las opciones que te da Postman cuando se abre, o puedes clicar en la opción “Skip an go to the app” para saltarte este paso:
Hasta este punto ya deberías tener el programa instalado en tu computadora. En Postman podemos crear algunas solicitudes HTTP de ejemplo y compartirlas con otras personas para que ellos solo tengan que ejecutarlas. Yo he creado algunas solicitudes de ejemplo para nuestro proyecto, a continuación te las comparto y te explico cómo importarlas en tu cliente de Postman:
Primero debemos seleccionar un Workspace dentro de Postman, para ello abrimos la pestaña “Workspace” y seleccionamos “My Workspace”.
Damos click al botón “Continue” y ¡listo! Con eso ya deberías tener las solicitudes de prueba importadas en tu Postman, en las siguientes clases te mostraré cómo usarlas 😉.
Recuerda que puedes profundizar más en el funcionamiento de Postman en el Curso de Postman.
Creando un ambiente virtual para nuestro proyecto
Ahora que ya tenemos Postman instalado y nuestro código base descargado es necesario que instalemos las dependencias para el mismo. Para ello, como en todo buen proyecto con Python, crearemos un ambiente virtual. Es importante recalcar que para esto debes tener instalada una versión de Python superior a la versión 3.3. Puedes aprender a cómo instalar Python según tu sistema operativo en nuestro Curso Básico de Python 💪.
Para crear nuestro ambiente virtual debemos ejecutar este comando desde dentro de la carpeta de nuestro proyecto:
python3 -m venv venv
Con el ambiente creado, ahora debemos activarlo, para ello podemos hacerlo con el siguiente comando si estás en Windows:
.\venv\Scripts\activate
O con el siguiente comando, en caso de que estes en Linux o macOS:
source venv/bin/activate
Te puedes asegurar de que tu entorno virtual está activo viendo que a la izquierda de tu terminal aparece su nombre entre paréntesis. Para desactivar el ambiente virtual puedes lograrlo con el siguiente comando:
deactivate
Otra forma de crear ambientes virtuales con Python es mediante el uso de Anaconda. Puedes profundizar más en el tema de ambientes virtuales en el Curso de Python Intermedio, pero para este proyecto, con lo que te he explicado aquí basta 😉.
Instalación de las dependencias del proyecto
Ya que tenemos el ambiente virtual creado en nuestro proyecto debes activarlo para poder instalar las dependencias. Para instalarlas es tan simple como correr el siguiente comando asegurándote de que tu entorno virtual está activo:
pip3 install -r requirements.txt
En caso de que tengas algún error solo ejecuta el comando de nuevo, pip se encargará de solucionarlo en la primera incidencia.
Variables de entorno necesarias para ejecutar el proyecto
Por último, para que el proyecto se ejecute sin errores es necesario exportar las variables de entorno que se muestran a continuación, simplemente ejecuta cada una en tu terminal:
export FLASK_APP=platzi-api
export FLASK_ENV=development
export PLATZI_DB_URI="MONGO-URI"
Debes reemplazar MONGO-URI por la URI de MongoDB atlas en el siguiente formato:
Cuando hayas ejecutado todas las variables de entorno ejecuta el siguiente comando para que la aplicación empiece a correr:
flask run
De esta manera se ejecutará un servidor de desarrollo apuntando a http://127.0.0.1:5000 el cual contendrá nuestra API lista para empezar a trabajar 😉.
De esta forma terminamos la configuración de nuestro entorno de desarrollo. No olvides abrir el proyecto en tu editor de código preferido, en mi caso usaré Pycharm, pero tú puedes usar Visual Studio Code si así lo deseas.
Ingresar las variables necesarias para ejecutar el proyecto: set FLASK_APP=platzi-api set FLASK_ENV=development set PLATZI_DB_URI=“mongodb+srv://platzi-admin:[email protected]”
Se que es importante aprender y que no te den todo servido, pero se deben instalar dos aplicaciones adicionales que requieren conocimientos mas extensos y cuando uno solicita apoyo no veo respuesta, la mayoria estamos aprendiendo y he notado que existen una infinidad de comentarios que buscan apoyo sin resolver y debe ser algo que deben mejorar como Plataforma. He noto han sido bastantes los que han tenido problemas con esto, por lo que seria excelente que alguien pudiera editar esta sección del curso, o agregar documentación e identificar en que plataforma se trabajo las instrucciones anteriores.
😓😪
Esto lo deben poner en la tereminal tal cual y dar enter:
export FLASK_APP=platzi-api
export FLASK_ENV=development
Para esta deben ir a Atlas, a la parte de su cluster le dan en connect para que les salgan las opciones y le dan en “Connect to your application”
export PLATZI_DB_URI=“MONGO-URI”
Después en driver seleccionan Python y su versión correspondiente y copian el string que les aparece en connection String Only solo hasta la parte “.mongodb.net/” lo que viene después de .net/… lo ignoran
regresan a su terminal y ejecutan el comando quitando los " " y con su string de conexión
export PLATZI_DB_URI=…mongodb.net/
Es más fácil después de haber tomado los cursos de Git, Python, Digital Ocean y tener algo de experiencia con Anaconda…
Deberían hacer un video con el ejemplo de instalación de dependencias para cada sistema operativo; seguir las instrucciones del texto sin las bases anteriores debe ser difícil y seguramente debe tener algún impacto en el abandono del curso.
pymongo.errors.ConfigurationError: None of DNS query names exist
Esto significa que la URI de Mongo esta mal escrita, dejo el enlace a un comentario del usuario @JavierSLX donde explica como verla en el MongoDB Atlas.
En mi caso me aparecía este error al hacer flask run en la terminal (Anaconda Powershell Prompt anaconda 3)
(base) PS C:\Users\lfzar\Documents\GitHub\platzi-mongo> flask run
* Environment: production
WARNING: This is a development server. Do not use itina production deployment.
Use a production WSGI server instead.
* Debug mode: off
Usage: flask run [OPTIONS]
Error: Could not locate a Flask application. You did not provide the"FLASK_APP" environment variable, anda"wsgi.py"or"app.py" module was not found inthe current directory.
Para solucionarlo use las instrucciones de Boris pero aplicando las variables de entorno propuestas por Jose Arturo Enriquez.
0. Instalar anaconda con el .exe haciendo next conforme lo pida.
1. Abrimos la terminal de anaconda, la buscamos con el nombre de “Anaconda Powershell Prompt”
2. Clonamos el repositorio: git clone https://github.com/AERC18/platzi-mongo.git
3. Ingresamos a la carpeta: cd platzi-mongo
4. Crear un nuevo ambiente: conda create --name platzi-mongo
5. Activar el ambiente: conda activate platzi-mongo
6. Instalar dependencias: conda install --file requirements.txt
7. Ingresar las variables necesarias para ejecutar el proyecto:
$env:FLASK_APP=platzi-api
$env:FLASK_ENV=development
$env:PLATZI_DB_URI=“mongodb+srv://platzi-admin:[email protected]”
8. Corremos el servidor: flask run
Con el mayor de los respetos, considero y no creo que solo sea el del problema, “El profesor se salta un muchos pasos”, tengo mucho tiempo realizando esta guía y no encuentro la forma de crear el servidor para windows, el profesor debió ser mas detallado con esto.
Falta metodología !!! Se debe mejorar el curso. Llego hasta aquí y no puedo continuar , solo me queda ver los videos. Debe existir garantia para quien no esta conforme.
y ya por ultimo guardan todo y reinician su computadora
nota: para la ultima variable PLATZI_DB_URI su valor va a ser el siguiente
mongodb+srv://tusuario:[email protected]
tal como dijo el amigo que hizo el proceso en mac, y eso es todo, espero le sirva a alguien ya que como siempre hay cosas que varían en los sistemas operativos, saludos
Concuerdo con la mayoría de los compañeros de este curso esta parte debería ser explicada por vídeo se supone que antes de lanzar un curso debe pasar por un control de calidad y no tener estos tropiezo que son molestos para los estudiantes.
Que confuso todo… demasiadas instalaciones y no se para que sirve cada una. Esto es MongoDB y termino instalando una plataforma de Python? como dijo un compañero, muy poco didactico!
INSTALANDO PROYECTO PARA WSL UBUNTU
Debido a que uso WSL con Ubuntu tuve que realizar los pasos del tutorial de una forma un poco diferente tomando en cuenta que además no tenía algunas herramientas instaladas, he aquí los pasos que realice:
.
. INSTALAR PIP:
#Actualizamos nuestra lista de dependencias de Linux:
sudo apt-get update
#Instalamos las actualizaciones de nuestras dependencias de Linux:
sudo apt-get upgrade
#Verificamos que version de python tenemos:
##Si el siguiente comando nos arroja resultado, tenemos python 3:
python3 --version
##Procedemos a instalar pip con el siguiente comando:
sudo apt-get install python3-pip
##Si el comando inicial arroja “command not found” probemos con este:
python --version
##Procedemos a instalar pip con el siguiente comando:
sudo apt-get install python-pip
##Si ambos arrojan “command not found” debemos de instalar python primero
##antes de instalar pip con el siguiente comando:
sudo apt-get install python3
.
. INSTALAR ANACONDA:
#Entrar a la página: https://www.anaconda.com/products/individual
#En la sección de “Anaconda Installers” en el apartado de linux descargar “64-Bit (x86) Installer (529 MB)”.
#Copiar y pegar el archivo .sh que se descargó dentro de su carpeta home en WSL.
#Ejecutar el archivo .sh de la siguiente manera:
./NombreDelArchivo.sh
#Leer las instrucciones del instalador y seguir los pasos del indicador.
#Si todo sale bien, el instalador anterior debió haberles creado la carpeta “anaconda3” en su home.
.
. CREAR EL AMBIENTE CON ANACONDA:
#Navegar hasta el directorio del proyecto
cd platzi-mongo
#crear un nuevo ambiente
<pathRelativo|pathAbsoluto>/anaconda3/bin/conda create --name platzi-mongo
#activar el ambiente
<pathRelativo|pathAbsoluto>/anaconda3/bin/conda activate platzi-mongo
#para desactivar el ambiente
<pathRelativo|pathAbsoluto>/anaconda3/bin/conda deactivate
#Debido a la forma en la que instalamos anaconda hay que ir directamente a la carpeta
#en la que se instaló para ejecutar el binario “conda”, en mi caso la carpeta “anaconda3”
#y la carpeta “platzi-mongo” están al mismo nivel en mi home por lo que ejecutó conda de la siguiente forma:
…/anaconda3/bin/conda create --name platzi-mongo
.
. INSTALAR DEPENDENCIAS DEL PROYECTO:
pip install -r requirements.txt
#Es posible que se les muestre el siguiente warning indicandoles donde se encuentra el script de “flask”
#"que deberemos ejecutar más tarde para correr el proyecto, en mi caso “/home/nombre_de_usuario/.local/bin”.
WARNING: The script flask is installed in ‘/home/nombre_de_usuario/.local/bin’ which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
.
. VARIABLES DE ENTORNO PARA EJECUTAR EL PROYECTO:
export FLASK_APP=platzi-api
export FLASK_ENV=development
export PLATZI_DB_URI=“MONGO-URI”
#NOTA: La URI de la que habla la sacamos de la sección “Connect your application” de #nuestro cluster.
.
. INICIAR EL SERVIDOR
/home/nombre_de_usuario/.local/bin/flask run
#Asegurrarnos de estar dentro de la carpeta del proyecto cuado se ejecute el colmando
#anterior.
.
.
Lamento no poder simplificarlo más pero quería dejar bien en claro los pasos que seguí teniendo WSL.
Ojalá les sirva de algo.
Me consto bastante tiempo configurar esto en windows, y eso que llevo años trabajando tanto en linux como en windows. No me puedo imaginar el martirio que debe significar esto para los que recien estan aprendiendo.
Hagan un video de esto en windows, o expliquen mas a detalle, no puedo hacer funcionar el proyecto, y como no se nada de Python no puedo seguir el curso en las partes del proyecto.
Es cierto, esta parte es muy complicada. De hecho es imposible si no se tiene experiencia utilizando Anaconda, python, línea de comandos, git… Deberían crear un container en docker para poder seguir sin esta experiencia.
RECOMENDACIÓN: Para poder ejecutar todos los comandos en windows de esta clase, despues de que se instala Anaconda, tambien se instala el anaconda prompt (así búsquenlo en sus programas). Con esa terminal puedes hacer prácticamente todo
Consejillos que puede ayudar para los que usen Windows 10 y PowerShell:
para usar el comando “conda”, usad la terminal de anaconda --> tecla windows y escribid anaconda prompt
para las variables de entorno desde powerShell, cambiar export por $env: ej. (export FLASK_APP=platzi-api --> $env:FLASK_APP=“platzi-api”
todo desde la carpeta raíz del proyecto
poker face los que no saben python, a instalarlo y tambien vscode entre otras dependencias. que pena con ellos mejor el profesor hubiera explicado esto con un video que perezoso y mal por los demas estudiantes.
Alguien me podría ayudar con este error que me está saliendo,(estoy en WIndows 10 y lo estoy haciendo a través de un ambiente virtual en Python)
Esto me sale en el CMD
(env) λ flask run
* Serving Flask app "platzi-app" (lazy loading)
* Environment: development
* Debug mode: on
* Restarting with stat
* Debugger is active!
* Debugger PIN: 154-919-770
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [13/Aug/2020 22:37:59] "GET / HTTP/1.1" 500 -
Traceback (most recent call last):
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\cli.py", line 325, in __call__
self._flush_bg_loading_exception()
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\cli.py", line 313, in _flush_bg_loading_exception
reraise(*exc_info)
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\_compat.py", line 35, in reraise
raise value
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\cli.py", line 302, in _load_app
self._load_unlocked()
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\cli.py", line 317, in _load_unlocked
self._app = rv = self.loader()
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\cli.py", line 372, in load_app
app = locate_app(self, import_name, name)
File "H:\Cursos\Data_Science\Mongodb\platzi-mongo\env\Lib\site-packages\flask\cli.py", line 245, in locate_app
raise NoAppException(
flask.cli.NoAppException: Could not import "platzi-app".
Para este proceso no considero necesario utilizar anaconda ya que anaconda es muy pesado para un proyecto tan ligero. Preferiblemente utilizar virutalenv o containers. Yo en este caso he creado el mismo ambiente en un container. Mi repositorio publico es el siguiente:
Para este se debe instalar docker y docker-compose.
Al clonar mi repositorio solo deben copiar el archivo ‘.env.example’ y crear un archivo nuevo llamado ‘.env’. Ya dentro de este archivo deben modificar las siguientes
variables:
Tambien vengo a quejarme muy mal explicado, es poco didactico, este curso es como de hace 2 años ya es para que hubieran corregido este asunto, queda muy mal platzi.
Si estás trabajando desde Windows la mejor opciones es que con VSCode abras el proyecto crees el virtualenv, lo actives, instales los **requirements **y para la parte de las variables de entorno uses los siguientes comandos en la terminal de Powershell:
Muy poco didáctico la forma en que se explica esta sección. Creo que faltan explicar mucho conceptos. Espere se mejore pronto para que sea mas comprensible.
A pesar de haber leído y probado las diferentes estrategias en los comentarios, stack, reddis, y demás no logro captar que está sucediendo caundo corro flask. ¿Alguien podría indicarme como puedo resolver este paso? Y muchas gracias!!
`(platzi-mongo) PS C:\Users\USUARIO\Alejandro-sin\Mongo_DB\platzi-mongo\platzi-mongo> flask run
Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
Debug mode: off
Usage: flask run [OPTIONS]
Error: Could not locate a Flask application. You did not provide the “FLASK_APP” environment variable, and a “wsgi.py” or “app.py” module was not found in the current directory.
(platzi-mongo) PS C:\Users\USUARIO\Alejandro-sin\Mongo_DB\platzi-mongo\platzi-mongo>`
Ojo, si tuviste error o algo no funcionó, te sugiero leas con calma todos los comentarios de la comunidad aquí debajo. Lee todos sin aplicar ninguna solución. Una vez hecho esto, podrás decidir cuál aplica a tu caso.
En mi caso, hasta que no reinicie mi terminal, pude ejecutar
conda list
Mira el comentario de AryRosvall para un tutorial al respecto.
Después, estaba haciendo mal un export. Debe utilizarse sin comillas.
Y al final, obtendrás un error 404 al consultar la dirección, ya que no hay frontend para la URL. Prueba por ejemplo con: http://127.0.0.1:5000/carreras/test
Les comparto un pequeño script que realice para powershell y asi automatizar todas las tareas necesarias para correr este proyecto. Puedes copiar y pegar el codigo en powershell abierto en la raiz de tu proyecto o crear un archivo con extension .ps1 y ejecutarlo en powershell como .\nombreScript.ps1.
Espero que sea de utilidad.
Y de donde sacamos la dichosa URI? y por que el comd export no se reconoce? y porque nadie explicó lo de las variables? esto pudo haber estado más completo 😦 tengo horas batallando
al parecer nunca voy a terminar una carrera o ruta de aprendizaje, vengo del curso Express.js debido a que no entendía la sintaxis de mongo y ahora en curso de mongo la practica esta en Python que al igual que mongo no tengo ni idea de la sintaxis y me tocaría invertir tiempo en otro leguaje o buscar un curso de mongo por otra plataforma y así me ha pasado con varios temas!
La MONGO-URI es diferente para cada uno y debe contener
"mongodb+srv://usuarioDeCadaUno:contraseñ[email protected]"
El mio dio asi:
set PLATZI_DB_URI=“mongodb+srv://platzi:[email protected]”
Donde ffcbfb5c8d5cd2dc52d2.json es el nombre del json V1 y ffcbfb5c8d5cd2dc52d3.json es el nombre que le coloque de salida, puede ser el que deseen colocarle, pero se debe cambiar porque de lo contrario no deja convertirlo.
UNA VES ACTIVADO EL AMBIENTE EN ANACONDA: SI TU MAQUINA ES WINDOWS
conda activate platzi-mongo
pip install -r requirements.txt
set flask_app=platzi-api
set flask_env=development
set platzi_db_uri=mongodb+srv://[USUARIO]:[CONTRASEÑA]@[NOMBREENATLAS].brzcz.mongodb.net
ES RECOMENDABLE COPIAR LA MISMA URL DE ATLAS SIN EL /test PARA ASEGURARNOS UNA BUENA CONEXIÓN Y NO REPETIR TODOS LOS PASOS
por ultimo le damos:
flask run
DE SER TODO CORRECTO DIRIGIRSE A LA URL QUE DICE EN EL ANACONDA Y LE AGREGAN /carreras
Y LES DEBE SALIR UN JSON VACIO
DE SER CORRECTO YA ESTAMOS LISTOS PARA DIRIGIRNOS A LA SIGUIENTE CLASE (PARA LA INTERFAZ PUEDEN USAR VISUAL STUDIO CODE Y LE INSTALAN LA EXTENSIÓN DE Python).
Clonar el repositorio en el que se encuentra el código del proyecto platzi-mongo (Cree una cuenta en Github para poder clonar el repositorio)
Ingresar a la carpeta platzi-mongo (Done)
Teclear git branch -r este nos mostrará los branches con las soluciones por módulo a medida que vayamos avanzando durante el curso. (Aquí estoy atorado, ¿dónde se teclea eso?)
Por favor, me pueden ayudar. Estoy en windows 10, seguí todas las indicaciones y al tratar de ejecutar flask run, me da esta respuesta:
(platzi-mongo) C:\Users\rc_fa\OneDrive\Documentos\nubia laboral\cursos platzi\Curso Basico MongoDB\Proyecto\platzi-mongo>flask run
"flask" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.
Tuve muchos problemas al tratar de instalar Anaconda.
El problema fue que el nombre de usuario en la computadora tenía un espacio y eso me generaba errores.
Otro error que tuve fue al exportar las variables de entorno, como estoy en Windows, se reemplaza export por set y funciona bien (esta solución la vi en uno de los comentarios de los compañeros 💚).
Pero al fin ha quedado todo.
Si están en windows las variables de entorno no van entre comillas, no importa que al ingresar la variable de la uri de mongo les aparezca un error de que un comando no se reconoce
deberian subie un video aparte explicando esta parte, para los que estamos tan perdidos.
o que curso tenemos que ver antes para no quedar tan perdidos.
Obtengo el error de que la carpeta platzi-api no existe:
Usage: flask run [OPTIONS]
Error: The file/path provided (platzi-api) doesnot appear to exist. Please verify the path is correct. If app isnoton PYTHONPATH, ensure the extension is .py
Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
Debug mode: off
Usage: flask run [OPTIONS]
Error: Could not locate a Flask application. You did not provide the “FLASK_APP” environment variable, and a “wsgi.py” or “app.py” module was not found in the current directory.
En windows es importante seguir todos los pasos desde Anaconda Powershell Prompt, para no tener errores o fallas al seguir la instalación y configuración.
TENGO UNA DUDA.
Teclear git branch -r este nos mostrará los branches con las soluciones por módulo a medida que vayamos avanzando durante el curso. ¿DONDE HAGO ESO?
YEN Variables de entorno necesarias para ejecutar el proyecto
Para que el proyecto se ejecute sin errores es necesario exportar las variables de entorno que se muestran a continuación:
export FLASK_APP=platzi-api
export FLASK_ENV=development
export PLATZI_DB_URI=“MONGO-URI”
Reemplazar MONGO-URI por la URI de MongoDB atlas en el siguiente formato:
mongodb+srv://<TU-USUARIO>:<TU-CONTRASEÑA>@<TU-ATLAS-URI>
¿DÓNDE TENGO QUE MODIFICAR ESOS DATO? AYUDA POR FAVOR, SOY NUEVO EN ESTO Y NO ENTIENDO
Tuve algunos problemas con el PLATZI_DB_URI y lo solucioné de la siguiente manera
Ejecutar CMD como administrador
Ir hasta el directorio de la aplicación en mi caso *cd c:\Users<mi usuario>\Desktop\platzi-mongo*
Creamos el ambiente de conda: conda create --name platzi-mongo
Activamos en ambiente de conda: conda activate platzi-mongo
Instalar los paquetes de python pip install -r requirements.txt --user
Para el caso de las variables de ambiente use las siguientes instrucciones: set FLASK_APP=platzi-app set FLASK_ENV=development set PLATZI_DB_URI=mongodb+srv://root-admin:<aqui va tu contraseña>@cluster0.38cow.mongodb.net/ NOTA: la ultima variable no lleva comillas, únicamente la ruta tal cual la copias de compass
flask run
**NOTA 2:**Las variables de ambiente se destruyen al cerrar la consola, por lo que si lo haces es necesario volver a
inicializar su valor
Cambios dentro del método db() con la línea client = MongoClient(CONNECTION_STRING, tlsCAFile=certifi.where())
from bson.json_util import dumps, ObjectId
from flask import current_app
import certifi
from pymongo import MongoClient, DESCENDING
from werkzeug.local import LocalProxy
# Este método se encarga de configurar la conexión con la base de datos
def get_db():
#platzi_db = current_app.config['PLATZI_DB_URI']
client = MongoClient('mongodb+srv://platzi-admin:[email protected]', tlsCAFile=certifi.where())
return client.platzi
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.