解决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实现登陆知乎获得个人收藏并保存为word文件
Mar 16 Python
python链接oracle数据库以及数据库的增删改查实例
Jan 30 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
Python单元测试简单示例
Jul 03 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 Python
解决python gdal投影坐标系转换的问题
Jan 17 Python
django在开发中取消外键约束的实现
May 20 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
Python 通过正则表达式快速获取电影的下载地址
Aug 17 Python
python操作redis数据库的三种方法
Sep 10 Python
Python通用唯一标识符uuid模块使用案例
Sep 10 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 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 根据url自动生成缩略图并处理高并发问题
2014/01/23 PHP
PHP函数addslashes和mysql_real_escape_string的区别
2014/04/22 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
jQuery Ajax 全解析
2009/02/08 Javascript
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
获得所有表单值的JQuery实现代码[IE暂不支持]
2012/05/24 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
jQuery实现的小图列表,大图展示效果幻灯片示例
2016/10/25 Javascript
js实现的简练高效拖拽功能示例
2016/12/21 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
JS集合set类的实现与使用方法示例
2019/02/01 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
vue中根据时间戳判断对应的时间(今天 昨天 前天)
2019/12/20 Javascript
深入理解Django-Signals信号量
2019/02/19 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
周仰杰(JIMMY CHOO)法国官方网站:闻名世界的鞋子品牌
2019/09/27 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
应届毕业生自我评价分享
2013/12/15 职场文书
老师自我鉴定范文
2013/12/25 职场文书
高二历史教学反思
2014/01/25 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
2015年园林绿化工作总结
2015/05/23 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
纪念建国70周年演讲稿
2019/07/19 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
spring 项目实现限流方法示例
2022/07/15 Java/Android