解决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对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
设置python3为默认python的方法
Oct 31 Python
django迁移数据库错误问题解决
Jul 29 Python
基于Python实现拆分和合并GIF动态图
Oct 22 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
python标准库OS模块函数列表与实例全解
Mar 10 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
浅谈Python协程
Jun 17 Python
使用Pytorch训练two-head网络的操作
May 28 Python
教你怎么用Python实现GIF动图的提取及合成
Jun 15 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
博士208HAF收音机实习报告
2021/03/02 无线电
一个简单计数器的源代码
2006/10/09 PHP
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
PHP jQuery表单,带验证具体实现方法
2014/02/15 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
总结对比php中的多种序列化
2016/08/28 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
php创建类并调用的实例方法
2019/09/25 PHP
javascript事件模型代码
2007/07/01 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JavaScript插件化开发教程(五)
2015/02/01 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
vue router 源码概览案例分析
2018/10/09 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
解决layui追加或者动态修改的表单元素“没效果”的问题
2019/09/18 Javascript
python实现大转盘抽奖效果
2019/01/22 Python
Python简单I/O操作示例
2019/03/18 Python
python文本数据处理学习笔记详解
2019/06/17 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
tesserocr与pytesseract模块的使用方法解析
2019/08/30 Python
python实现堆排序的实例讲解
2020/02/21 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
HTML5中meta属性的使用方法
2016/02/29 HTML / CSS
论文诚信承诺书
2014/05/23 职场文书
交通工程专业推荐信
2014/09/06 职场文书
领导干部学习“三严三实”思想汇报
2014/09/15 职场文书
百年校庆感言
2015/08/01 职场文书