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

Airflow模块导入失败:pendulum.tz.timezone调用报错求助

Airflow模块导入失败问题排查与解决

问题详情

运行单元测试时触发Airflow模块导入失败,更新至Airflow 2.5.3版本后问题未解决,完整报错日志如下:

10:39:36  ERROR: FileIngestion.test_download_file_mercury (unittest.loader._FailedTest.FileIngestion.test_download_file_mercury)
10:39:36  ----------------------------------------------------------------------
10:39:36  ImportError: Failed to import test module: FileIngestion.test_download_file_mercury
10:39:36  Traceback (most recent call last):
10:39:36    File "/opt/managed-artifacts/python/3.11.6/lib/python3.11/unittest/loader.py", line 419, in _find_test_path
10:39:36      module = self._get_module_from_name(name)
10:39:36               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36    File "/opt/managed-artifacts/python/3.11.6/lib/python3.11/unittest/loader.py", line 362, in _get_module_from_name
10:39:36      __import__(name)
10:39:36    File "/jenkins/workspace/dataaws-1417_web_proxy_migration/PythonUtils/test/FileIngestion/test_download_file_mercury.py", line 6, in <module>
10:39:36      from PythonUtils.src.FileIngestion import download_file_mercury
10:39:36    File "/jenkins/workspace/dataaws-1417_web_proxy_migration/PythonUtils/src/FileIngestion/download_file_mercury.py", line 2, in <module>
10:39:36      from PythonUtils.src.common.hooks.audit_service import AuditServiceHook
10:39:36    File "/jenkins/workspace/dataaws-1417_web_proxy_migration/PythonUtils/src/common/hooks/audit_service.py", line 6, in <module>
10:39:36      from airflow.utils.log.logging_mixin import LoggingMixin
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/__init__.py", line 52, in <module>
10:39:36      from airflow import configuration
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/configuration.py", line 1815, in <module>
10:39:36      secrets_backend_list = initialize_secrets_backends()
10:39:36                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/configuration.py", line 1743, in initialize_secrets_backends
10:39:36      secrets_backend_cls = import_string(class_name)
10:39:36                            ^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/utils/module_loading.py", line 36, in import_string
10:39:36      module = import_module(module_path)
10:39:36               ^^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36    File "/opt/managed-artifacts/python/3.11.6/lib/python3.11/importlib/__init__.py", line 126, in import_module
10:39:36      return _bootstrap._gcd_import(name[level:], package, level)
10:39:36             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/secrets/metastore.py", line 28, in <module>
10:39:36      from airflow.utils.session import NEW_SESSION, provide_session
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/utils/session.py", line 24, in <module>
10:39:36      from airflow import settings
10:39:36    File "/jenkins/python/lib/python3.11/site-packages/airflow/settings.py", line 51, in <module>
10:39:36      TIMEZONE = pendulum.tz.timezone("UTC")
10:39:36                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
10:39:36  TypeError: 'module' object is not callable

问题根源

报错栈最终指向pendulum.tz.timezone("UTC"),出现'module' object is not callable错误,核心原因是pendulum库版本与Airflow 2.5.3不兼容:

  • Airflow 2.5.x版本要求pendulum版本范围为>=2.0.5,<2.1.0
  • 若安装了pendulum 2.1.x及以上版本,pendulum.tz.timezone会从可调用函数变为模块,导致Airflow初始化时调用失败。

解决方法

  1. 安装Airflow 2.5.3兼容的pendulum版本:
pip install pendulum==2.0.5
  1. 验证pendulum版本是否正确:
pip show pendulum
  1. 重新运行单元测试,确认导入问题是否解决。

额外注意事项

  • 确保在项目对应的虚拟环境中执行上述命令,避免影响全局依赖
  • 若存在依赖冲突,可执行pip freeze查看当前依赖列表,排查是否有其他包强制升级了pendulum
  • 建议在requirements.txt中固定pendulum版本(如pendulum>=2.0.5,<2.1.0),避免后续依赖更新再次触发该问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 13:42:06