我正在尝试处理上传到Django服务器的文件。收到文件后,我将启动一个处理文件的python脚本(我需要以这种方式而不是使用类来执行该文件,因此请不要告诉我从类中进行处理)。
我的Django结构如下:
项目
从视图中,我启动一个python脚本:
sb_info = subprocess.run(['python', 'src/pipeline/master.py', '/tmp'], stdout=subprocess.PIPE, universal_newlines=True)
这很好用,但是启动脚本时出现以下错误:
文件“ src / pipeline / master.py”,第10行,在 从src.classes.misc导入path_to_dest ModuleNotFoundError:没有名为“ src”的模块
问题在于该文件确实存在。我已经使用os.listdir()
进行了检查,master.py确实看到了src模块,这是我得到的输出:
[temp.txt,db.sqlite3, pycache ,S2T,.idea,manage.py,src, wdir.txt,.git,web_server]
我已经尝试了很多我在stackoverflow中看到的东西,例如:
我想再次声明,从views.py中可以检测到src模块,可以导入其功能,当我启动python脚本时出现问题,然后统计信息抱怨找不到模块,但是{{1 }}确实看到了,所以我对正在发生的事情感到困惑。
非常感谢您的帮助!
答案 0 :(得分:0)
问题似乎出在您提供的导入路径上。 src模块位于脚本提供的树的上方两层,因此在每个目录中都包含显式__init__.py
文件,以从父模块进行绝对导入,如下所示: