解决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 相关文章推荐
9种python web 程序的部署方式小结
Jun 30 Python
Python中asyncore的用法实例
Sep 29 Python
50行Python代码实现人脸检测功能
Jan 23 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
详谈python3 numpy-loadtxt的编码问题
Apr 29 Python
Python 硬币兑换问题
Jul 29 Python
python字符串格式化方式解析
Oct 19 Python
Python简单实现区域生长方式
Jan 16 Python
解决pycharm同一目录下无法import其他文件
Feb 12 Python
Python实现代码块儿折叠
Apr 15 Python
opencv 图像轮廓的实现示例
Jul 08 Python
Python变量格式化输出实现原理解析
Aug 06 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桌面中心(四) 数据显示
2007/03/11 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
客户端js判断文件类型和文件大小即限制上传大小
2013/11/20 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
jQuery的图片滑块焦点图插件整理推荐
2014/12/07 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
深入浅析AngularJS中的module(模块)
2016/01/04 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
Javascript的console['']常用输入方法汇总
2018/04/26 Javascript
JavaScript捕捉事件和阻止冒泡事件实例分析
2018/08/03 Javascript
layDate插件设置开始和结束时间
2018/11/15 Javascript
node.js通过url读取文件
2020/10/16 Javascript
在Python中利用Pandas库处理大数据的简单介绍
2015/04/07 Python
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
2020/04/14 Python
Django Path转换器自定义及正则代码实例
2020/05/29 Python
校本教研工作方案
2014/01/14 职场文书
大学生自我鉴定范文模板
2014/01/21 职场文书
求职简历的自我评价
2014/01/31 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
《小猫刮胡子》教学反思
2014/02/21 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
优秀党员学习焦裕禄精神思想汇报范文
2014/09/10 职场文书
2015年党务公开工作总结
2015/05/19 职场文书
新西兰:最新留学学习计划书写作指南
2019/07/15 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
Python实现文本文件拆分写入到多个文本文件的方法
2021/04/18 Python
如何用JavaScript学习算法复杂度
2021/04/30 Javascript