Python报错:尝试相对导入超出顶级包问题求助
相对导入报错:ValueError: attempted relative import beyond top-level package
我查过不少Stack Overflow的回答,知道要用相对导入,也确实这么做了——在加点点之前,我遇到的是module not found错误。
我的项目目录结构如下:
│ bs-url.bat │ ├───batch_processing │ │ .env.dist │ │ .env.local │ │ convert_url.py │ │ __init__.py | ├───models │ │ models.py │ │ __init__.py
我从顶层目录运行bs-url.bat,这个脚本仅带参数执行batch_processing/convert_url.py。我在convert_url.py里尝试从models模块导入内容,用的语句是:
from .. models.models import create_model
如果用1个点或3个点,VSCode会标红报错,但用上面的语句时,会出现以下错误:
from .. models.models import create_model ValueError: attempted relative import beyond top-level package
根据我查的相对导入资料,这种写法应该可行,所以我搞不懂为啥会报错。另外,如果在bs-url.bat同目录的.py文件里用该导入语句则能正常运行。
希望能得到帮助或相关见解?
内容的提问来源于stack exchange,提问作者Chud37
相关产品推荐
相关产品推荐

