Python 无法从其他文件夹导入类

Python 无法从其他文件夹导入类,python,airflow,Python,Airflow,我有一个类似的问题,因为这里的解决方案不能解决我的问题 我在和你一起工作。lib更新了一个操作员,由于我目前无法升级我的气流版本,我想手动下载操作员.py文件,并在我的代码手册中使用它 airflow -dags --mydag.py -AddedOperators --sagemaker_tuning_operator.py --__init__.py (empty file) sagemaker\u tuning\u op

我有一个类似的问题,因为这里的解决方案不能解决我的问题

我在和你一起工作。lib更新了一个操作员,由于我目前无法升级我的气流版本,我想手动下载操作员
.py
文件,并在我的代码手册中使用它

airflow
    -dags
        --mydag.py
    -AddedOperators
        --sagemaker_tuning_operator.py
        --__init__.py   (empty file)
sagemaker\u tuning\u operator.py
是以下文件:

它包含类
SageMakerTuningOperator

在my
mydag.py
中,我执行以下操作:

from AddedOperators.sagemaker_tuning_operator import SageMakerTuningOperator
当尝试解析
mydag.py
时,我得到:

没有名为AddedOperators.sagemaker_tuning_operator的模块


检查项目目录是否在系统路径中。您可以按如下方式进行检查:

import sys

print(sys.path)
请注意,在运行Python脚本时,sys.path并不关心什么 您当前的“工作目录”为。它只关心通往世界的道路 剧本。例如,如果“我的壳”当前处于“气流”状态/ 文件夹,我运行python./dags/mydag.py,然后sys.path包括 气流/DAG/但不包括气流/

如果项目目录不在sys path中,则可以执行以下操作:

  • 动态地包含它

    import sys
    sys.path.insert(0, 'path/to/your/')
    
    # import your module now
    
  • 将项目根文件夹中所有必需的模块导入到app.py之类的文件中,然后从此处调用


它不在sys.path中。我做到了:sys.path.insert(0,'/home/ubuntu/aiffort')仍然不起作用。相同的错误动态添加路径对我来说很好。你能展示一下你所做的吗?