解决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命令行传递实例化对象的方法
Nov 02 Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 Python
python实现简单的单变量线性回归方法
Nov 08 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
Python实现打印实心和空心菱形
Nov 23 Python
pytorch::Dataloader中的迭代器和生成器应用详解
Jan 03 Python
python实现单张图像拼接与批量图片拼接
Mar 23 Python
python让函数不返回结果的方法
Jun 22 Python
django 模型字段设置默认值代码
Jul 15 Python
理解Django 中Call Stack机制的小Demo
Sep 01 Python
python关于倒排列的知识点总结
Oct 13 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中MVC结构学习
2006/10/09 PHP
php4的session功能评述(二)
2006/10/09 PHP
Thinkphp中的volist标签用法简介
2014/06/18 PHP
ThinkPHP表单数据智能写入create方法实例分析
2015/09/27 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
Javascript函数式编程语言
2015/10/11 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
微信小程序中单位rpx和rem的使用
2016/12/06 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
AngularJS自定义指令实现面包屑功能完整实例
2017/05/17 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
ExtJs整合Echarts的示例代码
2018/02/27 Javascript
详解如何在vscode里面调试js和node.js的方法步骤
2018/12/24 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
2021/01/03 Vue.js
Vue实现圆环进度条的示例
2021/02/06 Vue.js
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
日本索尼音乐商店:Sony Music Shop
2018/07/17 全球购物
中科软测试工程师面试题
2012/06/16 面试题
大学班长的职责
2014/01/27 职场文书
教师党性分析材料
2014/02/04 职场文书
珠宝店促销方案
2014/03/21 职场文书
法院反腐倡廉心得体会
2014/09/09 职场文书
争先创优个人总结
2015/03/04 职场文书
讲座通知范文
2015/04/23 职场文书
公司周年庆典致辞
2015/07/30 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
Java并发编程之Executor接口的使用
2021/06/21 Java/Android