Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

441
Views
error: Saltarse el análisis de 'flask_mysqldb': módulo encontrado pero sin sugerencias de tipo ni resguardos de biblioteca

Estoy usando Python 3.6 y flask . Utilicé flask-mysqldb para conectarme a MySQL , pero cada vez que intento ejecutar mypy en mi programa aparece este error:

Omitiendo el análisis de 'flask_mysqldb': módulo encontrado pero sin sugerencias de tipo ni resguardos de biblioteca.

Intenté ejecutar mypy con las banderas ignore-missing-imports o follow-imports=skip . Entonces no estaba recibiendo el error. ¿Por qué recibo este error? ¿Cómo puedo arreglar esto sin agregar banderas adicionales?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Está recibiendo este error porque mypy no está diseñado para intentar verificar el tipo de cada módulo que intente importar. Esto se debe principalmente a tres razones:

  1. El módulo que está tratando de importar podría estar escrito de manera que no pueda verificar el tipo. Por ejemplo, si el módulo hace algo como my_list = [] en el alcance global, mypy solicitará una sugerencia de tipo ya que no sabe qué se supone que contiene esta lista.

    Este tipo de errores están fuera del control de las personas que usan las bibliotecas, por lo que sería molesto y perturbador enviarlos potencialmente como spam en todas partes.

  2. Incluso si el módulo de biblioteca que está tratando de importar verifica el tipo sin problemas, si no usa sugerencias de tipo, no obtendrá muchos beneficios al tratar de usarlo con mypy. Si la biblioteca se escribe dinámicamente, mypy podría aceptar silenciosamente código que en realidad no verifica el tipo en tiempo de ejecución.

    Esto puede ser sorprendente para las personas/hacer lo incorrecto en silencio generalmente es una mala idea. En su lugar, recibe una advertencia explícita.

  3. No todos los módulos están escritos en Python; algunos módulos son en realidad extensiones de C. Mypy no puede analizar estos módulos y, por lo tanto, debe implementar algún mecanismo para ignorar los módulos.

Si no obtiene este error, esto significa una de cinco cosas:

  1. Las sugerencias de tipo para su biblioteca ya existen en Typeshed , que viene incluido con mypy. Typeshed contiene principalmente sugerencias de tipo para la biblioteca estándar y un puñado de bibliotecas populares de terceros.

  2. La biblioteca ya está usando sugerencias de tipo y declaró que quiere ser analizada y verificada por mypy. Esto se hace incluyendo un archivo py.typed especial dentro del paquete que lo hace compatible con PEP 561 .

  3. Ha instalado un paquete de "solo stubs" de terceros. Este paquete se puede instalar junto con la biblioteca y permite que las personas proporcionen sugerencias de tipo sin tener que modificar la biblioteca en sí. Por ejemplo, el paquete django-stubs contiene sugerencias de tipo para la biblioteca Django, que no es compatible con PEP 561.

  4. Configuró mypy para usar sus propios stubs personalizados. Es decir, básicamente ha creado su propio paquete local de "solo stubs" y le ha dicho a mypy que lo use.

  5. Ha decidido suprimir el error y vivir con el hecho de que la biblioteca se escribe dinámicamente por ahora, por ejemplo, usando los indicadores de la línea de comando que encontró o agregando un # type: ignore a la importación.

Para obtener más detalles sobre cómo lidiar con este error, consulte los documentos de mypy sobre el manejo de sugerencias de tipos faltantes de bibliotecas de terceros .

over 4 years ago · Santiago Trujillo Report

0

Por si acaso es útil para cualquiera. found module but no type hints or library stubs y el motivo fue que agregué una nueva carpeta con un archivo python pero sin el archivo __init__.py . Entonces, la solución fue, por supuesto, agregar ese archivo vacío a esta nueva carpeta. https://mypy.readthedocs.io/en/latest/running_mypy.html#cómo-se-encuentran-las-importaciones

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!