我有一个文件夹结构:
root_folder
- file.conf
- models
- __init__.py
- model1.py
- airflow
- dags
- dag1.py
所以在上面的情况dag1
导入model1
。这样做会因为models/__init__.py
加载file.conf
文件而中断。我尝试通过sys.path
向sys.path.append
添加根文件夹,似乎无法解决问题。我也尝试过从init的相对路径,但它仍然找不到通过相对路径给出的文件。将自己的代码与气流代码捆绑在一起的好方法是什么?
在尝试各种方法使其工作之后,对我来说似乎有用的是使用文件的绝对路径os.path.abspath(os.path.join(__file__ ,"../..") + '/file.conf')
。如果您知道更好的方法,请在下面回答。谢谢:))
答案 0 :(得分:0)
您可以在root_folder中添加__init__.py
文件:
-root_folder
- __init__.py
- file.conf
- models
- __init__.py
- model1.py
- airflow
- dags
- dag1.py
然后将$ PYTHONPATH添加到root_folder的路径。
最后在dag1.py文件中导入:
import file.conf
也可以导入
import models.model1