Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

439
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda