Airflow 数据库:无法导入名称';摆锤';从';摆锤';

Airflow 数据库:无法导入名称';摆锤';从';摆锤';,airflow,pendulum,Airflow,Pendulum,我在一个名为engdados的巨蟒环境中安装了气流。当我执行命令airflow initdb时,我得到以下错误:airflow initdb:无法从“钟摆”导入名称“钟摆”。完整回溯如下所示: (engdados) guilherme@Athena-LNX:~$ airflow initdb Traceback (most recent call last): File "/home/guilherme/anaconda3/envs/engdados/bin/airflow&quo

我在一个名为engdados的巨蟒环境中安装了气流。当我执行命令airflow initdb时,我得到以下错误:
airflow initdb:无法从“钟摆”导入名称“钟摆”
。完整回溯如下所示:

(engdados) guilherme@Athena-LNX:~$ airflow initdb
Traceback (most recent call last):
  File "/home/guilherme/anaconda3/envs/engdados/bin/airflow", line 25, in <module>
    from airflow.configuration import conf
  File "/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/airflow/__init__.py", line 47, in <module>
    settings.initialize()
  File "/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/airflow/settings.py", line 403, in initialize
    configure_adapters()
  File "/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/airflow/settings.py", line 319, in configure_adapters
    from pendulum import Pendulum
ImportError: cannot import name 'Pendulum' from 'pendulum' (/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/pendulum/__init__.py)
(engdados) guilherme@Athena-LNX:~$ service start mysql$
start: unrecognized service
(engdados) guilherme@Athena-LNX:~$ service mysql start$
Usage: /etc/init.d/mysql start|stop|restart|reload|force-reload|status|bootstrap
(engdados) guilherme@Athena-LNX:~$ airflow initdb
Traceback (most recent call last):
  File "/home/guilherme/anaconda3/envs/engdados/bin/airflow", line 25, in <module>
    from airflow.configuration import conf
  File "/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/airflow/__init__.py", line 47, in <module>
    settings.initialize()
  File "/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/airflow/settings.py", line 403, in initialize
    configure_adapters()
  File "/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/airflow/settings.py", line 319, in configure_adapters
    from pendulum import Pendulum
ImportError: cannot import name 'Pendulum' from 'pendulum' (/home/guilherme/anaconda3/envs/engdados/lib/python3.8/site-packages/pendulum/__init__.py)
我到目前为止检查的内容:

engdados环境是否已激活?对

摆锤是否安装在Anaconda环境中?对

巨蟒显示的钟摆版本与康达列表(1.4.4)中显示的不同。为什么?


我不知道发生了什么事。提前感谢。

在钟摆版本2中,类
钟摆.钟摆
替换为
钟摆.日期时间

您的airflow版本预期为钟摆1.x,但您的环境预期为钟摆2.x


您可以通过制作一个新的环境并安装气流2.0(使用钟摆2.x)来解决这个问题。如果必须使用气流<2.0,则需要将钟摆固定到<2.0(例如使用pip约束)。

如果在代码中使用钟摆,例如在自定义运算符中,则可以添加

试试看:
从钟摆导入日期时间作为钟摆
除恐怖外:
从钟摆进口钟摆

谢谢你提供的线索。我已经在同一个环境中安装了Prefict,它弄乱了我的所有软件包。我重新创建环境只是为了空气流通,一切都很好。祝你今天愉快奇怪的是,即使是最新的气流(截至本文撰写之时为2.0)仍然使用相当大的钟摆(2018-03-21的1.4.4)。不,气流2.0使用钟摆2。我不认为它是固定的,但是除非你将它固定到1.x,否则你应该得到2。如果你固定到1.x,我认为气流将不起作用。
 Name                    Version                   Build  Channel

pendulum                  2.1.2                    pypi_0    pypi