1
votes

Airflow - ModuleNotFoundError: Aucun module nommé 'kubernetes'

J'ai installé Python, Docker sur ma machine et j'essaye d'importer le de airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator mais lorsque je connecte le docker, je reçois le message que le module n'existe pas. J'ai déjà fait le pip install apache-airflow [kubernetes] et j'ai toujours la même erreur. Y a-t-il un emplacement de machine spécifique que je devrais vérifier si la bibliothèque est réellement installée? Que puis-je faire pour résoudre ce problème?

entrez la description de l'image ici

from airflow import DAG
from datetime import datetime, timedelta
from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator
from airflow.operators.dummy_operator import DummyOperator
import logging
import os
from airflow.utils.helpers import parse_template_string

default_args = {
    'owner': 'airflow',
    'depends_on_past': False,
    'start_date': datetime.utcnow(),
    'email': ['airflow@example.com'],
    'email_on_failure': False,
    'email_on_retry': False,
    'retries': 1,
    'retry_delay': timedelta(minutes=5)
}

dag = DAG(
    'kubernetes_sample', default_args=default_args, schedule_interval=timedelta(minutes=10))


start = DummyOperator(task_id='run_this_first', dag=dag)

passing = KubernetesPodOperator(namespace='default',
                          image="Python:3.6",
                          cmds=["Python","-c"],
                          arguments=["print('hello world')"],
                          labels={"foo": "bar"},
                          name="passing-test",
                          task_id="passing-task",
                          get_logs=True,
                          dag=dag
                          )

failing = KubernetesPodOperator(namespace='default',
                          image="ubuntu:1604",
                          cmds=["Python","-c"],
                          arguments=["print('hello world')"],
                          labels={"foo": "bar"},
                          name="fail",
                          task_id="failing-task",
                          get_logs=True,
                          dag=dag
                          )

passing.set_upstream(start)
failing.set_upstream(start)


4 commentaires

Essayez: pip install airflow ['kubernetes']


@FelipeFB - avez-vous résolu?


Je viens de redémarrer comme @Kalil a posté!


J'ai eu la même erreur de mise à niveau de 1.10.3 à 1.10.4 mais cette suggestion de pip ne le corrige pas:


3 Réponses :


1
votes

Il essaie d'importer le module nommé kubernetes. Essayez ça:

pip install kubernetes


1 commentaires

J'importe ça aussi ... mais rien n'a changé!



5
votes

Exécutez le

pip install apache-airflow[kubernetes]

Redémarrez le serveur Web et le planificateur d'Airflow après cela.


1 commentaires

J'ai eu la même erreur de mise à niveau de 1.10.3 à 1.10.4 mais cette suggestion de pip ne le corrige pas:



1
votes

essayez l'une de ces importations. l'un d'entre eux est obsolète, il se peut donc que vous ayez une version qui n'est plus prise en charge.

    #from airflow.providers.cncf.kubernetes.operators.kubernetes_pod import KubernetesPodOperator
    from airflow.contrib.operators.kubernetes_pod_operator import KubernetesPodOperator


0 commentaires