解决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字符串连接方法分析
Apr 12 Python
Python之py2exe打包工具详解
Jun 14 Python
python利用正则表达式排除集合中字符的功能示例
Oct 10 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
基于tensorflow加载部分层的方法
Jul 26 Python
Python 使用list和tuple+条件判断详解
Jul 30 Python
使用python采集Excel表中某一格数据
May 14 Python
Python sorted对list和dict排序
Jun 09 Python
python中导入 train_test_split提示错误的解决
Jun 19 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
python爬虫beautifulsoup解析html方法
Dec 07 Python
Opencv+Python识别PCB板图片的步骤
Jan 07 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
Look And Say 序列php实现代码
2011/05/22 PHP
php笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP实现CSV文件的导入和导出类
2015/03/24 PHP
javascript document.images实例
2008/05/27 Javascript
日期 时间js控件
2009/05/07 Javascript
在次封装easyui-Dialog插件实现代码
2010/11/14 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JavaScript设计模式之建造者模式介绍
2014/12/28 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
基于JavaScript中字符串的match与replace方法(详解)
2017/12/04 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
Vue+ElementUI table实现表格分页
2019/12/14 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
浅谈python中的数字类型与处理工具
2017/08/02 Python
python GUI实例学习
2017/11/21 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Python实现的特征提取操作示例
2018/12/03 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
给老婆的搞笑检讨书
2014/01/12 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
《散步》教学反思
2014/03/02 职场文书
企业党员个人自我评价
2014/09/20 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
如何书写读后感?(附范文)
2019/07/26 职场文书
一劳永逸彻底解决pip install慢的办法
2021/05/24 Python
如何使用PostgreSQL进行中文全文检索
2021/05/27 PostgreSQL
Mysql中调试存储过程最简单的方法
2021/06/30 MySQL