python - Airflow Docker 映像未按预期处理 Python 模块
问题描述
我正在使用puckel/docker-airflow
AWS运行docker-compose
并稍作修改docker-compose.yml
,但它没有像我期望的那样拾取 Python 模块,我想知道我是否做错了什么,或者我的预期是否不正确。当我尝试使用 Python 模块时,例如smart_open
在我的 DAG 文件中,我收到一个错误:
webserver_1 | Traceback (most recent call last):
webserver_1 | File "/usr/local/lib/python3.6/site-packages/airflow/models/__init__.py", line 413, in process_file
webserver_1 | m = imp.load_source(mod_name, filepath)
webserver_1 | File "/usr/local/lib/python3.6/imp.py", line 172, in load_source
webserver_1 | module = _load(spec)
webserver_1 | File "<frozen importlib._bootstrap>", line 684, in _load
webserver_1 | File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
webserver_1 | File "<frozen importlib._bootstrap_external>", line 678, in exec_module
webserver_1 | File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
webserver_1 | File "/usr/local/airflow/dags/mysql_etl.py", line 11, in <module>
webserver_1 | import smart_open
webserver_1 | ModuleNotFoundError: No module named 'smart_open'
但是,我已smart_open
在我的 中列出,requirements.txt
我的requirements.txt
文件已安装在我的 中docker-compose.yml
,并且它似乎已按预期加载:
webserver_1 | Collecting smart_open (from -r /requirements.txt (line 3))
webserver_1 | Downloading https://files.pythonhosted.org/packages/37/c0/25d19badc495428dec6a4bf7782de617ee0246a9211af75b302a2681dea7/smart_open-1.8.4.tar.gz (63kB)
smart_open
或者,当我构建指定使用
的 docker 映像时,错误消失了--build-arg PYTHON_DEPS="smart_open"
我没有entrypoint.sh
从修改puckel/docker-airflow
,据我所见,默认行为执行 apip install --user -r requirements.txt
并且按预期工作。
那么:为了让我的 DAG 文件能够访问指定的 Python 模块,我是否需要做一些不同的事情,requirements.txt
或者我只是用所有需要的模块构建了我的 Docker 映像?感谢您对此的任何见解!
解决方案
推荐阅读
- svelte - 无法运行苗条/顺风项目
- java - Spring Batch 作业无法初始化项目阅读器(FileSystemException)(内部错误)
- visual-studio-2019 - 撤消对 Git 中一个文件的工作副本修改,在 VS 2019 中可用?
- javascript - 使用 parcel 构建浏览器 - 如何不输出 CommonJS 或 ES 模块
- reactjs - 为什么 setState 只在函数式 setState 中打印出最终状态值?
- delphi - 使用 GET 时的 IdHTTP EIdHTTPProtocolException
- python - Pyspark Dataframe 复制列中先前的最大值(int 或 date)
- python - 安装python时出现问题
- python-3.x - 我开始为我的朋友做一个数学测验,但是 if 语句不起作用:(
- json - @typescript-eslint/member-ordering 不起作用