在本地连接远程之后,由于 AirFlow 一些目录无法自动加载到系统环境中(比如 $AIRFLOW_HOME/plugins/
),也就无法导入自定义的 Operator
,通常我们设置一下 PYTHONPATH
就可以解决了,但是 VS Code 如何解决,这里做一个整理和记录。
1. 运行和调试
连接上远程之后,点击运行和调试,创建 launch.json 文件,输入以下内容:
{
"version": "0.2.0",
"configurations": [
{
"name": "dev_py36",
"type": "python",
"request": "launch",
"program": "${file}",
"stopOnEntry": false,
"console": "integratedTerminal",
// 主要是修改 env
"env": {
"PYTHONPATH": "/home/lijiaxiang/bigdata/airflow/plugins:/home/lijiaxiang/bigdata/airflow/config"
},
}
]
}
配置完成后,就可以在运行和调试时时不会报错了,但是在脚本中还是会提示模块不存在,我们还需要配置一下远程环境。
2. 设置远程环境
连接上远程之后,打开设置,点击远程,点击 Python,搜索 Ext Paths
,点击在settings.json 中编辑
,输入以下内容:
{
"python.autoComplete.extraPaths": [
"/home/yumingmin/bigdata/airflow/plugins",
"/home/yumingmin/bigdata/airflow/config",
]
}