Python导入同目录save_audio模块报ModuleNotFoundError如何解决
Anaconda环境Python3同目录自定义模块导入报错解决
问题场景
在Anaconda环境下使用Python3开发YouTube音频情感分析功能时,尝试导入代码所在同目录下其他文件的函数,对应模块及函数无法被识别。
相关代码
入口脚本的导入段代码如下:
import streamlit as st from save_audio import save_audio from configure import auth_key import pandas as pd from time import sleep import urllib.request import plotly.express as px import plotly.graph_objects as go from urllib.request import urlopen from bs4 import BeautifulSoup import json import requests
报错信息
运行代码后抛出如下错误:
ModuleNotFoundError: No module named 'save_audio'
已尝试操作
- 适配Python3环境,在终端通过pip3卸载并重装所有依赖库
- 确认所有相关项目文件均存放在同一文件夹目录下
解决步骤
按以下优先级排查即可解决:
- 检查运行时的工作目录:使用streamlit或IDE运行代码时,如果终端当前所在路径不是项目根目录,Python不会自动扫描脚本所在目录的自定义模块。先执行
cd 你的项目文件夹绝对路径切到项目根目录,再执行运行命令即可。 - 检查文件名正确性:确认同目录下存在
save_audio.py、configure.py两个文件,关闭系统的“隐藏已知文件扩展名”选项,避免文件实际为.py.txt格式但被误识别为py文件,同时注意模块名大小写,Python对文件名大小写敏感。 - 手动添加脚本目录到模块搜索路径:如果上述操作无效,在所有自定义模块导入语句前加入以下代码,强制把脚本所在目录加入Python的模块搜索范围:
import sys import os current_script_dir = os.path.dirname(os.path.abspath(__file__)) if current_script_dir not in sys.path: sys.path.append(current_script_dir)
- 核对解释器环境:确认运行代码使用的解释器为你安装了所有依赖的Anaconda虚拟环境解释器,避免多版本Python环境混淆导致的路径识别问题。
内容的提问来源于stack exchange,提问作者KeyError
相关产品推荐
相关产品推荐

