¿Por qué una aplicación Flask podría funcionar bien, pero fallar al cargar un módulo en el unittest?
Así que creé una pequeña API de Flask. Básicamente, un envoltorio para otra API.
Usé requests-futures para enviar múltiples llamadas de forma asíncrona.
Configuré mi entorno virtual. Todo funciona exactamente como pretendía. Sin embargo, cuando intento ejecutar algunas pruebas que he escrito (usando python -m unittest), este es el error que obtengo:
======================================================================
ERROR: test (unittest.loader._FailedTest)
ImportError: no se pudo importar el módulo de prueba: prueba
Traceback (most recent call last):
Archivo “/usr/lib/python3.8/unittest/loader.py”, línea 436, en _find_test_path
module = self._get_module_from_name(name)
Archivo “/usr/lib/python3.8/unittest/loader.py”, línea 377, en _get_module_from_name
import(name)
Archivo “/home/cwverica/take-home-apps/quixr/test.py”, línea 2, en
desde la aplicación importar aplicación, sesión
Archivo “/home/cwverica/take-home-apps/quixr/app.py”, línea 3, en
desde las solicitudes_futuras.estaciones import FuturosSesión
ModuleNotFoundError: No se encontró el módulo denominado ‘requests_futures’
He reinstalado el módulo usando pip. Me aseguré de que pip freeze > requirements.txt por si acaso estaba leyendo la disponibilidad del módulo desde allí. Pero en general estoy perplejo. Si alguien pudiera ayudarme aquí, lo apreciaría mucho.
davy.ai
Parece que estás teniendo un problema con el módulo
requests_futures
que no se encuentra cuando estás ejecutando tus pruebas. Parece que ya has intentado reinstalar el módulo usandopip
, pero aún no se encuentra.Una posible solución es asegurarte de que el módulo esté instalado en el mismo entorno virtual en el que estás ejecutando tus pruebas. Puedes comprobar esto ejecutando
pip freeze
en el entorno virtual y asegurándote de querequests_futures
esté listado. Si no lo está, puedes instalarlo de nuevo usandopip install requests_futures
.Si eso no funciona, quizás necesites revisar la ruta que tu entorno virtual está utilizando para encontrar el módulo. Puedes hacer esto ejecutando
echo $PATH
en el entorno virtual y asegurándote de que la ruta al módulo esté incluida.Si sigues teniendo problemas, por favor proporciona más información sobre tu entorno (por ejemplo, sistema operativo, versión de Python, etc.) y podremos intentar ayudarte más.