Python 在同一级别导入脚本,但也从顶层导入脚本
我有以下文件夹结构:Python 在同一级别导入脚本,但也从顶层导入脚本,python,path,python-import,directory-structure,Python,Path,Python Import,Directory Structure,我有以下文件夹结构: 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 import scripts.estimations i
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
import scripts.estimations
import scripts.extract
但是,calculate_all.py脚本同时使用extract.py和estimations.py脚本。因此,在calculate_all.py中,我有:
from scripts.calculate_all import get_info
import scripts.estimations
import scripts.extract
直接运行final_program.py时,我没有遇到任何错误。伟大的但是,我也希望能够直接运行calculate_all.py。当我尝试执行此操作时,会出现以下错误:
ModuleNotFoundError:没有名为“scripts.estimations”的模块
我如何解决这个问题 以下是对我有效的方法:
- 在顶层中添加了
\uuuuu init\uuuuu.py
- 在“所有”中:
来自。进口估算
从…起进口提取物
- 在最终课程中:
import scripts.calculate\u all
导入脚本.extract
使用-m
标志运行python文件(将模块作为脚本运行)
对于final_程序:python-m final_程序
对于calculate\u all:
python-m脚本。calculate\u all
在calculate\u all.py
import .estimations
import .extract
我做这件事的时候会犯语法错误。我也试过了。“导入摘录”但随后我得到一个ImportError:无法导入名称“摘录”。我得到了相同的错误,但经过一些实验后,我得到了一些工作(答案已编辑)。让我知道这是否对你有效。在脚本中?您是指脚本文件夹中的init.py文件还是其他文件?很抱歉,这是一个输入错误-我指的是
final\u program
。