解决Python import .pyd 可能遇到路径的问题


Posted in Python onMarch 04, 2021

Python import .pyd文件时会搜索sys.path列表中的路径

运行

import xxx.pyd

1. 'ImportError: No module named xxx'

可能是xxx.pyd所在路径不在sys.path中。

解决方法:

import之前用sys.path.append()方法加入xxx.pyd所在路径,确定当前路径推荐用os.path.realpath('.')。

2. ‘ImportError: DLL load failed: 找不到指定的程序'

可能是xxx.pyd调用了其他的DLL文件,且其调用的DLL文件无法被搜索到。

解决方法:

用dependency walker查看xxx.pyd依赖的DLL,然后有两种方案

(1)将所有DLL放入xxx.pyd所在目录

(2)单独建立存放DLL文件的目录,比如D:\test\DLLFiles。

用os.environ['path']方法加入到环境变量PATH中:

os.environ['path'] += ';D:\\test\\DLLFiles'

补充:Python import / pyd / dll

使用Python import 模块时,

先会在模块的搜索path里依次搜索(前面会覆盖之后出现的同名模块),次序为:

1. 程序的主目录(交互模式下当前的工作目录或 脚本文件所在的目录)

2. 环境变量 PYTHONPATH目录(如果已经进行了设置)

3. 标准链接库目录(标准库模块所在目录 C:\Python27或C:\Python27\Lib\site-packages 目录中)

4. 任何放在标准链接库目录中的.pth文件中记录的目录

(1) 当出现诸如:

解决Python import .pyd 可能遇到路径的问题

no module 错误时, 说明无法找到对应的 .pyd 文件(Python中的动态链接库文件),

其可能的原因是:

a. 该 vtkCommonPython.pyd 文件不在搜索目里。(需拷入到搜索目录下 或 将其目录设置到PYTHONPATH中)

b. 该 module的 名字有问题, 比如输错了;或 应该为Debug版(如应该为 vtkCommonPython_d.pyd, Debug版的都需在 Python_d.exe中执行,且都需加_d后缀)

(2)当出现诸如:

解决Python import .pyd 可能遇到路径的问题

DLL load failed 错误时, 说明 可以找到该 模块对应的.pyd文件,但无法找到该 .pyd文件 对应的 dll文件时。

解决办法:

将对应的同名.dll文件路径放到环境变量PATH中。(或将该.dll文件放到PATH能找到的目录下)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
Python进程间通信Queue实例解析
Jan 25 Python
tensorflow建立一个简单的神经网络的方法
Feb 10 Python
python tornado微信开发入门代码
Aug 24 Python
Python实现插入排序和选择排序的方法
May 12 Python
python实现对服务器脚本敏感信息的加密解密功能
Aug 13 Python
wxPython之wx.DC绘制形状
Nov 19 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
python 实现性别识别
Nov 21 Python
浅谈Python xlwings 读取Excel文件的正确姿势
Feb 26 Python
解决Tkinter中button按钮未按却主动执行command函数的问题
May 23 Python
python playwrigh框架入门安装使用
Jul 23 Python
关于PySnooper 永远不要使用print进行调试的问题
Mar 04 #Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
Mar 04 #Python
Pytorch实现WGAN用于动漫头像生成
Mar 04 #Python
基于PyInstaller各参数的含义说明
Mar 04 #Python
解决Pyinstaller打包软件失败的一个坑
Mar 04 #Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 #Python
解决PDF 转图片时丢文字的一种可能方式
Mar 04 #Python
You might like
php中计算程序运行时间的类代码
2012/11/03 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
javascript时区函数介绍
2012/09/14 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
JS动态添加与删除select中的Option对象(示例代码)
2013/12/20 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
微信小程序开发之实现自定义Toast弹框
2017/06/08 Javascript
JavaScript数据类型和变量_动力节点Java学院整理
2017/06/26 Javascript
详解webpack loader和plugin编写
2018/10/12 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
vue封装swiper代码实例解析
2019/10/08 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
python图像处理之反色实现方法
2015/05/30 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
python并发编程之线程实例解析
2017/12/27 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
python实现的分层随机抽样案例
2020/02/25 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
模范家庭事迹材料
2014/02/10 职场文书
供货协议书范本
2014/04/22 职场文书
关于环保的建议书
2014/05/12 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
个人年底工作总结
2015/03/10 职场文书
2015年国庆节新闻稿
2015/07/18 职场文书
青少年法制教育心得体会
2016/01/14 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python
mysql sum(if())和count(if())的用法说明
2022/01/18 MySQL