解决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 相关文章推荐
easy_install python包安装管理工具介绍
Feb 10 Python
python实现倒计时的示例
Feb 14 Python
python 按不同维度求和,最值,均值的实例
Jun 28 Python
python list格式数据excel导出方法
Oct 31 Python
Python使用pandas和xlsxwriter读写xlsx文件的方法示例
Apr 09 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
python破解bilibili滑动验证码登录功能
Sep 11 Python
pytorch实现mnist分类的示例讲解
Jan 10 Python
Jupyter加载文件的实现方法
Apr 14 Python
Python Tornado实现WEB服务器Socket服务器共存并实现交互的方法
May 26 Python
Python 如何查找特定类型文件
Aug 17 Python
python使用matplotlib绘制图片时x轴的刻度处理
Aug 30 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
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
js获取客户端外网ip的简单实例
2013/11/21 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
Vue组件实现触底判断
2019/06/26 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
Python编码时应该注意的几个情况
2013/03/04 Python
python实现根据窗口标题调用窗口的方法
2015/03/13 Python
Python 判断文件或目录是否存在的实例代码
2018/07/19 Python
Python datetime和unix时间戳之间相互转换的讲解
2019/04/01 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
巧克力领导品牌瑞士莲美国官网:Lindt Chocolate美国
2016/08/25 全球购物
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
联想阿根廷官方网站:Lenovo Argentina
2019/10/14 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
年终自我鉴定
2013/10/09 职场文书
《猫》教学反思
2014/02/26 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
项目负责人任命书
2014/06/04 职场文书
小学运动会班级口号
2014/06/09 职场文书
国际金融专业自荐信
2014/07/05 职场文书
租房协议书样本
2014/08/20 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
全陪导游词
2015/02/04 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
生日宴会家属答谢词
2015/09/29 职场文书
演讲开头怎么书写?
2019/08/06 职场文书