解决“OSError: [WinError 126] 找不到指定的模块”的问题 Win10

针对情景:

  1. Win10下运行py工程报错,最后一行为“OSError: [WinError 126] 找不到指定的模块”
  2. 倒数第二端为Shapely相关函数的语句(如下图)

解决“OSError: [WinError 126] 找不到指定的模块”的问题 Win10_第1张图片

PS:其他情景用该方法未必有效

 

问题原因:

由上图可见,倒数第二段Shapely传递一个xxxxx.dll给下一段ctypes,但由于xxxxx.dll文件缺失(也可能是VC库的锅,但这里只需要处理Shapely即可解决问题),所以程序报错“OSError: [WinError 126] 找不到指定的模块”

解决方法:

  1. 在命令行中执行命令,先卸载shapely:pip3 uninstall shapely;出来是否确认的提示就y回车
  2. 去该网址https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely下载对应版本的shapely的whl安装包。如何查看对应版本?根据提供的shapely文件名判断哪个版本是符合你的:第一看cp36 cp37 cp39这一部分,代表的是你python版本,如你装的是python3.7那就选择cp37(后缀m不用在意);第二看最后位数,64位就选win_amd64,32位就选win32,现在的Win10基本都是64位系统,安装默认也是64位的。选择后点击下载,如图:解决“OSError: [WinError 126] 找不到指定的模块”的问题 Win10_第2张图片
  3. 下载后打开命令行,通过cd命令进入到所下载上述文件的路径下执行目录从c:\users\xxxx\变为cd的路径后在此执行命令:
    pip3 install 所下载该文件的文件名.whl

    例:pip3 install Shapely-1.7.1-cp37-cp37m-win_amd64.whl

  4. 安装完成后再执行代码,发现这个问题已解决

补充

如果执行cd后目录并没有进入到指定路径,那就按照下图进行:解决“OSError: [WinError 126] 找不到指定的模块”的问题 Win10_第3张图片

你可能感兴趣的:(python,python,windows)