我在 WSL 上本地部署了一个 Airflow 环境,我正在使用 VScode 进行调试和编码。
我的应用程序文件夹结构如下:
~/workspaces
|--- .env
|---organization/gcp/datalake
|--- dags
|--- //My dags
|--- plugins
|--- __init.py__
|--- operators
|--- __init.py__
|--- facebook_operators.py
|--- hooks
|--- __init.py__
|--- facebook_hooks.py
我无法理解 VSCode 关于导入的行为。
我通过
dags
文件将 plugins
和 PYTHONPATH
文件夹添加到 .env
中。我的VSCode是直接在workspaces
目录下打开的。
问题:
我收到导入错误,尽管我可以成功
go to definition
我想要导入的类。
示例:在我的
facebook_operators.py
from hooks.facebook_hooks import FacebookAdsHook
引发以下错误:
模块“hooks”中没有名称“facebook_hooks”
我的
.env
文件的内容:
PROJECTDIR=~/workspaces/organization/gcp/datalake
PYTHONPATH=${PROJECTDIR}/plugins
PYTHONPATH=${PROJECTDIR}/dags:${PYTHONPATH}
我哪里做错了?我想了解并解决这个错误。
您需要将
"python.analysis.extraPaths"
添加到您的 .vsode/settings.json
文件中,如下所示:
{
"editor.formatOnSave": true,
"python.analysis.extraPaths": ["./airflow/plugins"]
}