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?
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)
3 Réponses :
Il essaie d'importer le module nommé kubernetes. Essayez ça:
pip install kubernetes
J'importe ça aussi ... mais rien n'a changé!
Exécutez le
pip install apache-airflow[kubernetes]
Redémarrez le serveur Web et le planificateur d'Airflow après cela.
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:
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
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: