VS Code中已安装SQL_Wrapper仍报ModuleNotFoundError求助解决
我在Visual Studio Code中运行Python脚本,需要导入SQL_Wrapper模块,其他模块均能正常导入,但始终出现ModuleNotFoundError: No module named 'SQL_Wrapper'错误。尝试安装该模块时提示依赖已满足,检查过路径匹配情况并尝试使用虚拟环境,但所有方法均无效。终端输出如下:
(.venv) PS C:\Users\User\OneDrive\Documents\virtual environment> & "c:/Users/User/OneDrive/Documents/virtual environment/.venv/Scripts/python.exe" "c:/Users/User/OneDrive/Documents/GitHub/NAMER-queries/OI/import.py" Traceback (most recent call last): File "c:\Users\User\OneDrive\Documents\GitHub\NAMER-queries\OI\import.py", line 13, in <module> from SQL_Wrapper.SQLWrapper import SQLWrapper as SQL ModuleNotFoundError: No module named 'SQL_Wrapper' (.venv) PS C:\Users\User\OneDrive\Documents\virtual environment> py -m pip install SQL_Wrapper Requirement already satisfied: SQL_Wrapper in c:\users\User\onedrive\documents\virtual environment\.venv\lib\site-packages (0.1)
以下是可行的解决方法:
确认VS Code使用的解释器为当前虚拟环境
点击VS Code左下角的Python解释器选择器,确保选中的是.venv/Scripts/python.exe。VS Code偶尔会自动切换到全局解释器,导致无法识别虚拟环境内的模块。检查模块的实际目录结构
进入虚拟环境的site-packages目录c:\users\User\onedrive\documents\virtual environment\.venv\lib\site-packages,查看SQL_Wrapper文件夹内是否存在SQLWrapper.py文件,且文件中确实定义了SQLWrapper类。若模块目录或文件名拼写不一致(比如大小写错误),会直接导致导入失败。手动添加模块搜索路径到脚本
在import.py的开头添加以下代码,强制将虚拟环境的site-packages路径加入Python的搜索路径:import sys sys.path.append("c:/Users/User/OneDrive/Documents/virtual environment/.venv/lib/site-packages")添加后再执行脚本,验证是否能正常导入模块。
重新安装模块到虚拟环境
先卸载现有模块,再重新安装,执行以下命令:py -m pip uninstall -y SQL_Wrapper py -m pip install SQL_Wrapper确保安装过程无报错,完成后再次运行脚本。
避免脚本文件名与内置模块冲突
当前脚本名为import.py,会与Python内置的import模块重名,干扰模块搜索逻辑。建议将脚本重命名为import_sql_data.py等非内置名称后再尝试运行。
内容的提问来源于stack exchange,提问作者Audrey

