在本地连接远程之后,由于 AirFlow 一些目录无法自动加载到系统环境中(比如 $AIRFLOW_HOME/plugins/),也就无法导入自定义的 Operator,通常我们设置一下 PYTHONPATH 就可以解决了,但是 VS Code 如何解决,这里做一个整理和记录。

1. 运行和调试

连接上远程之后,点击运行和调试,创建 launch.json 文件,输入以下内容:

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "dev_py36",
  6. "type": "python",
  7. "request": "launch",
  8. "program": "${file}",
  9. "stopOnEntry": false,
  10. "console": "integratedTerminal",
  11. // 主要是修改 env
  12. "env": {
  13. "PYTHONPATH": "/home/lijiaxiang/bigdata/airflow/plugins:/home/lijiaxiang/bigdata/airflow/config"
  14. },
  15. }
  16. ]
  17. }

配置完成后,就可以在运行和调试时时不会报错了,但是在脚本中还是会提示模块不存在,我们还需要配置一下远程环境。

2. 设置远程环境

连接上远程之后,打开设置,点击远程,点击 Python,搜索 Ext Paths,点击在settings.json 中编辑,输入以下内容:

  1. {
  2. "python.autoComplete.extraPaths": [
  3. "/home/yumingmin/bigdata/airflow/plugins",
  4. "/home/yumingmin/bigdata/airflow/config",
  5. ]
  6. }

重启 VS Code 之后,就会发现文件中提示不在存在了。

3. 参考文档