如何解决Apache中的SQLAlchemy强制错误?
我使用的是ApacheAirfow版本:1.9 并在启动如何解决Apache中的SQLAlchemy强制错误?,sqlalchemy,airflow,Sqlalchemy,Airflow,我使用的是ApacheAirfow版本:1.9 并在启动Web服务器后获取以下错误: File "/usr/local/lib/python3.6/site-packages/airflow/utils/db.py", line 50, in wrapper result = func(*args, **kwargs) File "/usr/local/lib/python3.6/site-packages/airflow/models.py"
Web服务器后获取以下错误:
File "/usr/local/lib/python3.6/site-packages/airflow/utils/db.py", line 50, in wrapper
result = func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/airflow/models.py", line 3181, in is_paused
return qry.value('is_paused')
File "<string>", line 2, in value
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/util/deprecations.py", line 390, in warned
return fn(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 1407, in value
return next(self.values(column))[0]
File "<string>", line 2, in values
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/util/deprecations.py", line 390, in warned
return fn(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 1387, in values
q._set_entities(columns)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 189, in _set_entities
for ent in util.to_list(entities)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 189, in <listcomp>
for ent in util.to_list(entities)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py", line 176, in expect
element, argname=argname, **kw
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py", line 375, in _literal_coercion
return self._text_coercion(element, argname, **kw)
File "/usr/local/lib/python3.6/site-packages/sqlalchemy/sql/coercions.py", line 818, in _text_coercion
else "column",
sqlalchemy.exc.ArgumentError: Textual column expression 'is_paused' should be explicitly declared with text('is_paused'), or use column('is_paused') for more specificity
有人知道这里应该做什么吗
- 有没有一个版本的SQLAlchemy不会出现这个问题
- 在
Dockerfile
中安装时,是否可以编写Apache应用程序来下载并使用该版本
- 我看到,即使是ApacheAirflow1.10也在做同样的事情。假设它也必须使用SQLAlchemy版本>=1.4,它是否也应该抛出错误
编辑Dockerfile后,您是否可以确认您的Airflow确实在使用SQLAlchemy==1.3.15?部署日志会输出在系统上找到的SQLAlchemy版本已通过第一个命令卸载。而1.3.15版本安装在第二个版本的系统上。但是,我仍在确认。但是这些命令能解决这个问题吗?1.9已经很旧了,您可能需要进一步降低SQLAlchemy的级别,即1.2.x
RUN set -ex pip uninstall SQLAlchemy
RUN set -ex pip install 'SQLAlchemy==1.3.15'