Lor*_*ura 11 sqlalchemy flask airflow
我的 CICD 管道中有一个步骤,用于安装气流来测试 dags 加载。从今天早上开始,效果很好。步骤如下:
- apt update -y
- pip install --upgrade pip
- pip install apache-airflow==2.7.3
- export PATH=/root/.local/bin/:$PATH
- airflow db migrate
- export AIRFLOW_HOME=/root/airflow
- airflow variables import environments/local.json
- python3 -m pytest -s dags/
Run Code Online (Sandbox Code Playgroud)
从今天早上开始,我在数据库初始化期间收到以下错误
文件“/usr/local/lib/python3.11/site-packages/airflow/utils/db.py”,第 700 行,在 _get_flask_db AirflowDatabaseSessionInterface(app=flask_app, db=db, table="session", key_prefix=" ") 类型错误:SqlAlchemySessionInterface。init () 缺少 6 个必需的位置参数:'sequence'、'schema'、'bind_key'、'use_signer'、'permanent' 和 'sid_length'
这里是完整的回溯:
File "/usr/local/bin/airflow", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/site-packages/airflow/__main__.py", line 57, in main
args.func(args)
File "/usr/local/lib/python3.11/site-packages/airflow/cli/cli_config.py", line 49, in command
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/airflow/cli/commands/standalone_command.py", line 53, in entrypoint
StandaloneCommand().run()
File "/usr/local/lib/python3.11/site-packages/airflow/utils/providers_configuration_loader.py", line 55, in wrapped_function
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/airflow/cli/commands/standalone_command.py", line 69, in run
self.initialize_database()
File "/usr/local/lib/python3.11/site-packages/airflow/cli/commands/standalone_command.py", line 179, in initialize_database
db.initdb()
File "/usr/local/lib/python3.11/site-packages/airflow/utils/session.py", line 79, in wrapper
return func(*args, session=session, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/airflow/utils/db.py", line 733, in initdb
_create_db_from_orm(session=session)
File "/usr/local/lib/python3.11/site-packages/airflow/utils/db.py", line 718, in _create_db_from_orm
_create_flask_session_tbl(engine.url)
File "/usr/local/lib/python3.11/site-packages/airflow/utils/db.py", line 711, in _create_flask_session_tbl
db = _get_flask_db(sql_database_uri)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/airflow/utils/db.py", line 700, in _get_flask_db
AirflowDatabaseSessionInterface(app=flask_app, db=db, table="session", key_prefix="")
TypeError: SqlAlchemySessionInterface.__init__() missing 6 required positional arguments: 'sequence', 'schema', 'bind_key', 'use_signer', 'permanent', and 'sid_length'
Run Code Online (Sandbox Code Playgroud)
在本地我尝试了一些不同版本的sqlalchemy和flask没有任何进展
小智 14
问题是关于 package 的版本Flask-Session。暂时限制气流Flask-Session==0.6.0
解决方案:
pip install Flask-Session==0.5.0
Run Code Online (Sandbox Code Playgroud)
或者如果你愿意,你可以使用任何较低的版本,但我建议 0.5.0
如果您想调查更多信息,有针对您问题的 github 票证: https: //github.com/apache/airflow/issues/36883
您需要通过为特定 Airflow 和 Python 版本提供约束来安装 Airflow
\npip install "apache-airflow==2.7.3\xe2\x80\x9d --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.7.3/constraints-3.11.txt"\nRun Code Online (Sandbox Code Playgroud)\n为了避免上游包更新并破坏 Airflow 的某些关键部分时出现意外,请遵循从 PyPI 安装以获取更多详细信息,您也可以检查邮件[提醒] 如何重复安装 Airflow从用户邮件列表中重新安装 Airflow。
\n| 归档时间: |
|
| 查看次数: |
6332 次 |
| 最近记录: |