-
Win10下运行py工程报错,最后一行为“OSError: [WinError 126] 找不到指定的模块”
-
倒数第二端为
Shapely相关函数的语句
(如下图)
PS:其他情景用该方法未必有效
问题原因:
由上图可见,倒数第二段Shapely传递一个xxxxx.dll给下一段ctypes,但由于xxxxx.dll文件缺失(也可能是VC库的锅,但这里只需要处理Shapely即可解决问题),所以程序报错“OSError: [WinError 126] 找不到指定的模块”
解决方法:
-
在命令行中执行命令,先卸载shapely:pip3 uninstall shapely;出来是否确认的提示就y回车
-
去该网址
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位的。选择后点击下载,如图:
-
下载后打开命令行,通过cd命令进入到所下载上述文件的路径下
执行目录从c:\users\xxxx\变为cd的路径后
在此执行命令:
pip3 install 所下载该文件的文件名.whl
例:pip3 install Shapely-1.7.1-cp37-cp37m-win_amd64.whl
-
安装完成后再执行代码,发现这个问题已解决
如果执行cd后目录并没有进入到指定路径,那就按照下图进行:
针对情景:运行py工程报错,最后一行为“OSError: [WinError 126] 找不到指定的模块” 上一行为Shapely相关函数的语句PS:其他情景用该方法无效问题原因:是python环境的Shapely相关dll缺失(也可能是VC库的锅,但这里只需要处理Shapely即可解决问题)...
在使用
python
中的使用 import shapely 时不会报错,但是在使用 from shapely.ge
os
import lge
os
会报错,报错的详细信息如下图:
我们看到里面有一个关于ge
os
_c.dll的文件,而报错的主要原因就出现在ge
os
_c.dll这里,看了网上很多文章大部分说是ge
os
_c.dll文件缺失的原因。我在网上
找
了几个ge
os
_c.dll文件放到C:\
Windows
\System32 下任然没有
解决
问题
。
最后
解决
方案:卸载原来安装的shapely包,然后 在https://www.lfd.uci.edu/~gohlke/
python
libs/#shape
出现
找
不到
指定
模块
的
问题
通常是程序要加载某个DLL文件,但是这个DLL文件不存在就报错了。
从这一句可以看出,程序试图加载一个’ge
os
_c.dll’,
os
.path.join(sys.prefix, ‘Library’, ‘bin’, ‘ge
os
_c.dll’)组成了这个DLL文件的完整绝对路径,那么我们只需要
找
到这个绝对路径,并去网上下载这个DLL文件放入这个绝对路径即可。
2.
找
到绝对路径
我们打印出这个路径:
于是我们得到了这个完整的绝对路径
3. 下载所需的DLL文件
在Anaconda环境里装了pytorch后,环境import torch没任何
问题
,但在vscode和jupyter里,会这样,
弄了很久,原因就是,torch和torchvision版本不匹配,然后我不小心下载了新版本的torch,之前得版本被覆盖了。
从官网里
找
到对应的CUDA版本
复制这段,在环境里运行,重新装好就可以了。
有时候会碰到cuda报错,
OS
Error
: libcudart.so.10.0: cannot open shared object file: No such file
原因是cuda动态链接库没有链接上。
解决
方法如下:
cuda10.0:
sudo ldconfig /usr/local/cuda-10.0/lib64
cuda9.0:
sudo ldconfig /usr/local/cuda-9.0/lib64/
ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态
安装
python
-m spacy download xx_ent_wiki_sm
报错
OS
Error
: [
Win
Error
126
]
找
不到
指定
的
模块
。
Error
loading
"D:\
Python
\Anaconda3\lib\site-packages\torch\lib\asmjit.dll" or one of its dependencies.
在https://aka.ms/vs/16/release/vc_redist.x64.exe下载C++进行安装后
出现新的错误 ra..
OS
Error
: [
Win
Error
126
]
找
不到
指定
的
模块
。
Error
loading
"D:\
Program
Data\Anaconda3\lib\site-packages\torch\lib\asmjit.dll" or one of its dependencies.
原因在报错信息开头就有写,少了c++没安装,才会报错,按照他给的地址下载安装,
问题
解决
。
Micr
os
oft Visual C++ Redistributable is
这个错误一般是在
Python
程序中使用import导入
模块
时出现的。
Win
Error
127表示
找
不到
指定
的动态链接库,也就是
Python
程序在导入一个
模块
时,
找
不到
这个
模块
对应的依赖库。
这个
问题
的
解决
方法一般有以下几个方面:
1. 检查本地是否存在对应的依赖库:比如
Python
程序导入了一个外部库,但是电脑上没有相应的C库或DLL文件,这时就需要手动将缺失的库拷贝到
Python
的site-packages目录下或者添加到系统的环境变量中。
2. 检查
Python
版本是否一致:有些库是只支持
Python
2.X或
Python
3.X的,如果你的
Python
版本不一致也会出现类似的错误。
3. 检查
模块
名字是否正确或缺失:有时候出错的原因是因为
模块
名字写错或者
找
不到
对应的
模块
,在导入
模块
时需要确认
模块
名称以及
模块
路径是否正确。
综上所述,当遇到 [
Win
Error
127]
找
不到
指定
的
模块
时,一定要分析错误信息,查
找
可能的原因,
找
到
问题
所在后再进行
解决
。
解决TensorFlow报错:Could not load dynamic library ‘libnvinfer.so.6‘; dlerror: libnvinfer.so.6: cannot o