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

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

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

python转成pyd方法

版本:python 2.7.12 Cython安装 利用pip安装: pip install Cython --install-option="--no-cython-compile" 或者自...
  • kalulioo
  • kalulioo
  • 2016年09月01日 16:46
  • 539

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

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

编译C代码为python模块(pyd)

做个备份,免得将来忘了 swig –python example.i python setup.py build_ext --compiler=mingw32 –inplace   #setu...
  • fxsjy
  • fxsjy
  • 2009年10月19日 08:44
  • 3414

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

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

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

py是源文件,pyc是源文件编译后的文件,pyo是源文件优化编译后的文件,pyd是其他语言写的python库 python并非完全是解释性语言,它是有编译的,先把源码py文件编译成pyc或者pyo...
  • willhuo
  • willhuo
  • 2015年11月17日 13:59
  • 10625

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

在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。...
  • chroming
  • chroming
  • 2016年08月01日 10:18
  • 9055

Python Import 详解

python语法31[module/package+import] 作者:iTech  来源:博客园  发布时间:2010-06-20 22:34  阅读:725 次  原文链接   ...
  • appleheshuang
  • appleheshuang
  • 2012年05月25日 16:38
  • 98451

python 详解import ...

原文链接 一 module 通常模块为一个文件,直接使用import来导入就好了。可以作为module的文件类型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"...
  • steelhe
  • steelhe
  • 2016年07月30日 20:27
  • 1006

Python的包导入机制

Background在Python的大型项目中,一般都会用到模块包来组织文件层次,其中当一个目录内含有__init__ . py文件时,就可以視该目录为一个模块包。 当在模块包中使用import语句...
  • laughing2333
  • laughing2333
  • 2016年10月02日 17:23
  • 1961
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python import .pyd 可能遇到路径的问题
举报原因:
原因补充:

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