Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Problema na importação do hook do twitter

Mesmo depois de criar a classe TwitterHook, ao executar o python diz que não consegue encontrar o módulo. Estou importando errado? Erro

4 respostas

Ola Jonatas, O Python não esta encontrando a pasta hooks, tenta adicionar o caminho completo que seria plugins.hooks.twitter_hook ou ..hooks.twitter_hook. Deve resolver para o teste, mas dar problema quando for executar no airflow.

boa noite, no meu caso so deu certo depois que deixei as classes em uma mesma pasta.

O meu foi da mesma forma, só funcionou ao colocar os arquivos na mesma pasta. E aconteceu como o professor disse, ele deu problema quando executei no airflow. Não entendi o pq o python não encontra o arquivo ainda, mesmo o pylance do vs code encontrando.

solução!

Quando o Airflow executa ele adiciona a pasta de plugins no PYTHONPATH então consegue encontrar os arquivos de operadores e hooks, mas quando executamos via linha de comando precisamos especificar para o Python como funciona a estrutura de pastas, o que pode causar alguns erros na execução dos testes. Muitas vezes vai ficar com o erro no VSCode mas no Airflow vai funcionar normalmente. Na versão 2 do Airflow os operadores externos são instalados de forma diferente, como um pacote do python, então esse problema não vai acontecer mais. Voce pode tentar adicionar o comando abaixo antes do import para ver se resolve, ele vai adicionar a pasta dos plugins como base para o Python importar as bibliotecas.

sys.path.append("[pasta_dos_plugins]")