VS2017+Python3.7运行报错OSError: [WinError 126] 找不到指定模块求助
解决方案
- 确认运行目录与dll存放位置
报错核心是ctypes加载libANOPP2.dll失败,首先确认该dll文件是否存放在VS2017当前运行Python代码的工作目录下:你可以在所有import代码之前加入print(os.getcwd())打印当前工作路径,确认libANOPP2.dll放在该路径下。 - 手动添加dll搜索路径
若dll没有放在工作目录,你可以在from ANOPP2_api import *之前添加代码修改系统PATH环境变量,临时加入dll所在的目录:
Python 3.7不支持# 把引号内的路径替换为你存放libANOPP2.dll的文件夹完整路径 os.environ['PATH'] = r"C:\path\to\your\dll\folder" + ';' + os.environ['PATH']os.add_dll_directory接口,用上述修改PATH的方法即可生效。 - 校验架构与依赖完整性
- 确认你的Python 3.7架构和
libANOPP2.dll架构匹配:运行import platform;print(platform.architecture())查看Python是32位还是64位,dll架构必须和Python一致才能加载成功。 - 确认你已安装dll依赖的运行库:多数C编译的dll需要对应版本的Visual C Redistributable运行库,你可以安装VC2015-2022版运行库后重试。
- 若上述操作都无效,可以用依赖分析工具打开
libANOPP2.dll,查看是否有缺失的依赖dll,补齐缺失的依赖文件即可解决问题。
- 确认你的Python 3.7架构和
- 校验VS运行环境
确认VS2017中选择的Python解释器确实是你所用的Anaconda py37虚拟环境,避免选错解释器导致路径不匹配。
内容的提问来源于stack exchange,提问作者dsl0017
相关产品推荐
相关产品推荐

