我的项目目录有以下结构:
src
|__model
|___models.py
|___ prepare_data.py
|_utils.pymodels.py从prepare_data.py导入一个函数,后者从utils.py导入一个函数。
当我从bash运行脚本时,如果我在model文件夹中,命令是:python models.py,我得到了错误:ModuleNotFoundError: No module named 'utils'
如果我使用python model/models.py从src文件夹运行命令,则得到的错误是ModuleNotFoundError: No module named 'prepare_data'。
我知道在utils.py目录中移动model会解决问题,但我不想这样做。我尝试用虚线符号使用-m参数。所以第二个命令是:python -m model.models,但是我仍然得到相同的错误。我能做些什么来解决这个问题?
编辑:我也尝试在根目录中放置一个空的__init__.py文件,但是它没有解决问题
编辑2:我解决了这个问题,在model.py模块的开头输入它,就像this answer中所建议的那样
import sys
sys.path.append('../')发布于 2022-10-07 11:36:52
尝试在目录__init__.py根目录下创建一个空的https://docs.python.org/3/tutorial/modules.html#packages文件。
这让python知道它应该将内容作为一个包来处理。
https://stackoverflow.com/questions/73986414
复制相似问题