![]() |
1
3
没有办法在工作机上动态指定python版本。但是,如果使用芹菜执行器,则可以在不同的服务器/vm上或在不同的虚拟环境中运行多个worker。 您可以让一个worker运行python 3,一个worker运行2.7,并让每个worker监听不同的队列。这可以通过三种不同的方式实现:
然后在任务定义中指定
我不熟悉mlengioperator,但您可以指定
不管任务是如何运行的,您只需要确保dag本身与运行它的python版本兼容。例如,如果要在不同的python版本中启动airlow worker,dag文件本身需要与python 2&3兼容。DAG可以具有它使用的附加文件依赖项,这些依赖项具有版本不兼容性。 |
![]() |
2
0
好吧,开箱即用,您不能在常规python 3气流集群上运行python 2气流工作程序: Airflow使用sqlalchemy(我相信可以将有关DAG的元数据读写到数据库中)。当你在一个工人身上运行一个dag时,它会从数据库中读取关于该dag的pickled信息。如果其他非工作组件在python 3中,则它们将在pickle 4中写入db,而工作组件将尝试从python 2中的db读取数据。 特别是在sqlalchemy中查看sqltypes.py:
然后在compat.py中,最终在sqltypes.py中进行酸洗。
同样,pickle=true在气流中似乎不会对此产生影响???也许是因为根据 here 它只与回填有关? |
![]() |
Chris · 如何捕获导入脚本功能的打印 3 年前 |
![]() |
Danijel · C中TensorFlow模型文件的路径? 3 年前 |
![]() |
Arya Anish · tensorflow安装中面临的问题 3 年前 |