Mesmo depois de criar a classe TwitterHook, ao executar o python diz que não consegue encontrar o módulo. Estou importando errado? Erro
Mesmo depois de criar a classe TwitterHook, ao executar o python diz que não consegue encontrar o módulo. Estou importando errado? Erro
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.
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]")