DataFlow Runner执行read_excel报错:找不到openpyxl模块
解决DataFlow任务运行时
openpyxl缺失的问题 本地运行正常但DataFlow抛出ModuleNotFoundError: No module named 'openpyxl',核心原因是DataFlow的Worker节点是全新的云端环境,不会自动继承你本地Python环境的依赖包,必须显式配置让Worker安装所需依赖。
以下是几种可行的配置方式:
使用requirements.txt声明依赖
- 在项目根目录创建
requirements.txt文件,写入:openpyxl - 提交DataFlow任务时,添加命令行参数指定该文件:
--requirements_file ./requirements.txt
- 在项目根目录创建
通过setup.py管理依赖(适合复杂项目)
- 编写
setup.py文件,在install_requires中加入openpyxl:from setuptools import setup setup( name="your-dataflow-project", version="0.1", install_requires=[ "openpyxl", # 其他项目依赖包 ], packages=["your_project_package"], ) - 提交任务时指定该文件:
--setup_file ./setup.py
- 编写
命令行直接指定额外依赖
如果仅需单个依赖,可通过--extra_packages参数直接声明(注意部分Beam版本参数名为--extra_package):--extra_packages openpyxl
内容的提问来源于stack exchange,提问作者shricharan bhat
相关产品推荐
相关产品推荐

