You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow运行DAG遇ModuleNotFoundError:缺失dateutil.easter模块(已装python-dateutil)

Airflow DAG导入错误:找不到'dateutil.easter'模块的解决建议

我在Airflow中运行一个测试Selenium的DAG时,遇到DAG导入错误,报错提示找不到dateutil.easter模块。但我的机器已经通过pip3安装了python-dateutil 2.7.3版本,以下是相关代码:

def get_header_title():
    url_web = 'https://www.google.com/search'
    driver.get(url_web)
    driver.execute_cdp_cmd('Network.setUserAgentOverride', {
        "userAgent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})
    user_agent = driver.execute_script("return navigator.userAgent;")
    print(user_agent)
    time.sleep(3)
    driver.implicitly_wait(5)
    #search_field = WebDriverWait(driver, 5).until(
    #    EC.presence_of_element_located((By.XPATH, '//*[contains(@class, "gLFyf gsfi")]')))
    # search_field = driver.find_element(By.XPATH, '//*[contains(@class, "gLFyf gsfi")]')
    #time.sleep(time_to_sleep)
    print("we've crossed the element")
    search_field = driver.find_element(By.XPATH, "//*[contains(@title, 'Search')]")
    time.sleep(2)
    driver.implicitly_wait(5)
    try:
        search_field.click()
    except StaleElementReferenceException:
        print(" error clicking search")
    time.sleep(0.5)
    driver.implicitly_wait(5)
    search_field.send_keys("astronaut")
    time.sleep(0.5)
    driver.implicitly_wait(5)
    search_field.send_keys(Keys.ENTER)
    time.sleep(0.75)
    title = driver.title
    print(title)

default_args = {
    'owner': 'airflow',
    'retries': 5,
    'retry_delay': timedelta(minutes=2)
}

with DAG(
    'selenium_test',
    default_args=default_args,
    description = 'Selenium test DAG',
    schedule_interval=None,
    start_date=days_ago(2),
    tags=['selenuium_test']
) as dag:

    selenium_test_operator = PythonOperator(
         task_id='selenium_test',
         python_callable=get_header_title,
         dag=dag
    )

解决建议

  • 检查Airflow的Python环境:通过airflow info命令查看Airflow使用的Python路径,确认该路径下是否安装了python-dateutil。如果没有,用该路径的pip重新安装,例如:/path/to/airflow/python -m pip install python-dateutil==2.7.3
  • 升级python-dateutil版本:2.7.3版本可能存在兼容性问题,尝试升级到稳定版本,执行pip3 install --upgrade python-dateutil
  • 修复Airflow依赖:Airflow核心依赖python-dateutil,若模块损坏,可尝试重新安装Airflow核心包,或者完整重新安装Airflow
  • 确认虚拟环境:如果使用了虚拟环境,确保Airflow运行时已激活对应环境,或者在虚拟环境内重新安装python-dateutil
  • 手动验证导入:进入Airflow使用的Python环境,执行import dateutil.easter,确认模块是否能正常导入,排查环境不一致问题

内容的提问来源于stack exchange,提问作者fsaa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 23:20:32