Python import .pyd 可能遇到路径的问题

原创 2015年04月27日 22:00:36

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'


本文参考了文章

Robot Framework中Python加载相对路径DLL

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Robot Framework中Python加载相对路径DLL

在前一篇博文>中,提到如何使用Python使用C/C++编译成的DLL,从而让自动化测试中调用过程更加灵活。在Robot Framework,使用Python编写函数对A.DLL进行加载,A.DLL又...

使用C++创建Pyd文件扩展Python模块

1、需要说明的是Pyd文件其实就是dll,为了python能正常调用,这个dll规定了导出函数的一些规则。下面代码简单演示使用c++创建一个函数,并使用Python调用该模块。 (注意需要添加pyth...

Python 与 C++ 的交互编程

基础知识 编译语言和解释语言 尽管现在很多编程技术都在交融,出现了不少带有编译系统的解释语言,和带有复杂运行时系统的编译语言,但通常我们还是可以比较明确的区分它们。在这个大前提下,...

Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(爱之初体验)

一直对Python扩展很感兴趣,刚好看到了Extending and Embedding the Python Interpreter文档,看的是最低版本(由于工作中用的是2.x, ̄□ ̄), 链接:h...

Python和C|C++的混编(一):Python调用C、C++---Boost库

不使用boost.python库来直接构建dll的话比较繁琐,下面实例是借助boost库实现python对C、C++的调用 1 首先确定已经安装python和boost库,本例测试环境是python2...

Python 程序扩展名(py, pyc, pyw, pyo, pyd)及发布程序时的选择

在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。

python 文件 .py .pyc .pyw .pyo .pyd

DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。打不开,不过可以使用反汇编;PYD是一种PYTHON动态模块。实质上还是dll文件,只是改了后缀为PYD...

python py、pyc、pyo、pyd文件区别

py是源文件,pyc是源文件编译后的文件,pyo是源文件优化编译后的文件,pyd是其他语言写的python库 python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)