在同一级别导入脚本,但也从顶部导入

2024-09-29 23:26:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下文件夹结构:

top folder

 - final_program.py
 - scripts
   - __init__.py
   - extract.py
   - estimations.py
   - calculate_all.py

最后的_program.py在calculate_all.py中运行一个函数。所以,我有这个:

from scripts.calculate_all import get_info

但是,calculate\u all.py脚本同时使用extract.py和estimations.py脚本。所以,在calculate\u all.py中,我有:

import scripts.estimations
import scripts.extract

当直接运行final_program.py时,我没有遇到任何错误。伟大的。但是,我也希望能够直接运行calculate\u all.py。当我尝试时,我得到以下错误:

ModuleNotFoundError: No module named 'scripts.estimations'

如何解决此问题


Tags: pyimport脚本文件夹top错误scriptsextract
2条回答

以下是对我有效的方法:

  • 在顶层添加了__init__.py
  • 在“全部”中:
from . import estimations
from . import extract
  • 在最终课程中:
import scripts.calculate_all
import scripts.extract

使用-m标志运行python文件(将模块作为脚本运行)

对于最终课程:python -m final_program
对于所有计算:python -m scripts.calculate_all

calculate_all.py中使用

import .estimations
import .extract

相关问题 更多 >

    热门问题