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

WSL(Ubuntu)本地安装Apache Airflow 2.2.3兼容性问题求助

解决WSL Ubuntu中Apache Airflow 2.2.3安装问题

核心前提:用虚拟环境隔离依赖

不同Airflow版本的依赖差异极大,必须用虚拟环境避免全局依赖冲突,这是解决所有问题的基础:

# 安装venv工具(如果未安装)
sudo apt update && sudo apt install python3-venv -y
# 创建虚拟环境
python3 -m venv airflow-2.2.3-venv
# 激活虚拟环境
source airflow-2.2.3-venv/bin/activate

1. 解决ModuleNotFoundError: No module named 'attrs'

你安装的attrs可能未进入虚拟环境,或版本与Airflow 2.2.3不兼容:

  • 先检查虚拟环境内的attrs安装情况:
    pip list | grep attrs
    
  • 如果无输出或版本不符,直接安装Airflow 2.2.3兼容的attrs版本:
    pip install attrs==21.4.0
    

2. 解决依赖包兼容性问题(如apache-airflow-providers-http)

Airflow 2.2.3与高版本providers不兼容,必须安装对应版本:

  • 对于apache-airflow-providers-http,适配2.2.3的最高稳定版本是3.2.0,执行安装:
    pip install apache-airflow-providers-http==3.2.0
    
  • 安装Airflow时必须用官方约束文件锁定所有依赖版本,避免自动拉取高版本包:
    (先从Airflow官网下载对应2.2.3版本的约束文件到本地,命名为constraints-2.2.3.txt)
    pip install apache-airflow==2.2.3 --constraint ./constraints-2.2.3.txt
    

3. 解决权限拒绝错误

权限问题通常源于Airflow家目录无读写权限,或用sudo执行命令导致权限混乱:

  • 不要用sudo执行任何airflow命令,会破坏虚拟环境依赖关联
  • 手动设置Airflow家目录权限:
    # 指定Airflow家目录(可自定义路径)
    export AIRFLOW_HOME=~/airflow
    # 创建目录并设置权限
    mkdir -p $AIRFLOW_HOME
    chmod -R 755 $AIRFLOW_HOME
    # 若目录所有者为root,修正权限
    sudo chown -R $USER:$USER $AIRFLOW_HOME
    
  • 之后再执行数据库初始化:
    airflow db init
    

完整验证步骤

  1. 确保虚拟环境处于激活状态
  2. 执行pip list检查所有依赖版本是否符合2.2.3要求
  3. 重新执行airflow db init,若仍报错,检查输出中的具体缺失包或权限信息,针对性处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 20:12:25