代码无法识别路径目录及导入同根目录模块问题排查
模块导入错误解决方法
问题说明
运行以下代码时出现错误 No module named 'sentimentanalysis':
import streamlit as st from sentimentanalysis import save_audio
目录结构(修正笔误后)
sentimentanalysis(根目录) ├─ Save_audio │ └─ save_audio.py ├─ app.py └─ configure.py
解决步骤
- 添加
__init__.py文件:在Save_audio文件夹下创建空的__init__.py文件,让Python将该目录识别为可导入的包。 - 调整导入语句:由于
save_audio.py位于Save_audio子目录中,app.py在根目录下,正确的导入方式应为:from Save_audio.save_audio import save_audio - 确保根目录在Python路径中:如果需要从根目录包导入,可手动将根目录添加到
sys.path:import sys from pathlib import Path # 获取当前脚本所在的根目录 root_dir = Path(__file__).parent if str(root_dir) not in sys.path: sys.path.append(str(root_dir)) # 重新导入目标模块 from Save_audio.save_audio import save_audio - 检查大小写一致性:在区分大小写的系统(如Linux/macOS)中,确保导入时的目录名、文件名和实际完全一致(比如
Save_audio和save_audio的大小写)。 - 正确运行Streamlit:从根目录
sentimentanalysis下执行运行命令:streamlit run app.py
内容的提问来源于stack exchange,提问作者KeyError
相关产品推荐
相关产品推荐

