exampleProject
--> models
----> database
-------> __init__.py
-------> example1.py
-------> example1.py
--> services
----> __init__.py
----> service1.py
----> service1.py
我已经为我的项目创建了这个表结构,问题是当我在www.example.com中导入example1.py文件service1.py,我得到ModuleNotFoundError,并且在www.example.com中导入www.example.com文件时得到相同的错误service2.pyexample2.py
我已经尝试了sys.path.append方法.但仍然得到相同的错误,文件导入init.py文件.
我想在生产环境中运行这个项目,我在某个地方读到过在生产环境中使用sys.path.append方法不是一个好的做法。
这是文件夹的正常结构,但如果我想增加文件夹和文件,并从各种文件夹导入文件,我该怎么做?有人可以帮助我在这一点上,如何解决这个问题。
谢谢。
1条答案
按热度按时间qv7cva1a1#
首先,dags文件夹被添加到sys路径中。因此,dags文件夹中的任何内容都可以导入到Airflow env中。
我将采取一个例子,你已经给了。所以让我们考虑下面的文件夹结构驻留在dags文件夹如
/home/airflow/dags
让我们假设
exampleProject/models/database/example1.py
看起来像这样现在,让我们在
services/service1.py
中导入上述函数,下面是我们将如何导入example1_func
现在我们可以通过导入类似的方法在任务中调用
service1_func