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

 更新时间:2021年03月04日 10:48:31   作者:xyk198307  
这篇文章主要介绍了解决Python import .pyd 可能遇到路径的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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) 当出现诸如:

no module 错误时, 说明无法找到对应的 .pyd 文件(Python中的动态链接库文件),

其可能的原因是:

a. 该 vtkCommonPython.pyd 文件不在搜索目里。(需拷入到搜索目录下 或 将其目录设置到PYTHONPATH中)

b. 该 module的 名字有问题, 比如输错了;或 应该为Debug版(如应该为 vtkCommonPython_d.pyd, Debug版的都需在 Python_d.exe中执行,且都需加_d后缀)

(2)当出现诸如:

DLL load failed 错误时, 说明 可以找到该 模块对应的.pyd文件,但无法找到该 .pyd文件 对应的 dll文件时。

解决办法:

将对应的同名.dll文件路径放到环境变量PATH中。(或将该.dll文件放到PATH能找到的目录下)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • Python使用SQLAlchemy进行复杂查询的操作代码

    Python使用SQLAlchemy进行复杂查询的操作代码

    SQLAlchemy 是 Python 生态系统中非常流行的数据库处理库,它提供了一种高效、简洁的方式与数据库进行交互,在数据驱动的应用程序中,复杂查询是必不可少的,本文将通过一些常见的示例介绍如何使用 SQLAlchemy 编写复杂查询,需要的朋友可以参考下
    2024-10-10
  • Python如何将将模块分割成多个文件

    Python如何将将模块分割成多个文件

    这篇文章主要介绍了Python如何将将模块分割成多个文件,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-08-08
  • Python中如何使用pypandoc进行格式转换操作

    Python中如何使用pypandoc进行格式转换操作

    这篇文章主要介绍了Python中如何使用pypandoc进行格式转换操作,pypandoc是一个强大的文档转换工具,它可以将各种标记语言转换为不同的格式,支持多种输入和输出格式,并允许用户添加自定义样式、模板和过滤器
    2021-06-06
  • python中黄金分割法实现方法

    python中黄金分割法实现方法

    这篇文章主要介绍了python中黄金分割法实现方法,涉及Python数学计算的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Python 虚拟环境venv详解

    Python 虚拟环境venv详解

    Python 虚拟环境主要是为不同 Python 项目创建一个隔离的环境,每个项目都可以拥有独立的依赖包环境,而项目间的依赖包互不影响,对Python 虚拟环境venv相关知识感兴趣的朋友一起看看吧
    2021-09-09
  • python自动发邮件总结及实例说明【推荐】

    python自动发邮件总结及实例说明【推荐】

    python发邮件需要掌握两个模块的用法,smtplib和email,这俩模块是python自带的,只需import即可使用。这篇文章主要介绍了python自动发邮件总结及实例说明 ,需要的朋友可以参考下
    2019-05-05
  • Python matplotlib如何简单绘制不同类型的表格

    Python matplotlib如何简单绘制不同类型的表格

    通过Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等,下面这篇文章主要给大家介绍了关于Python matplotlib如何简单绘制不同类型表格的相关资料,需要的朋友可以参考下
    2022-07-07
  • python自动化测试之异常及日志操作实例分析

    python自动化测试之异常及日志操作实例分析

    这篇文章主要介绍了python自动化测试之异常及日志操作,结合实例形式分析了python自动化测试中的异常捕获与日志记录相关操作技巧,需要的朋友可以参考下
    2019-11-11
  • Pycharm运行加载文本出现错误的解决方法

    Pycharm运行加载文本出现错误的解决方法

    今天小编就为大家分享一篇Pycharm运行加载文本出现错误的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python中内存管理机制与优化技巧分享

    Python中内存管理机制与优化技巧分享

    这篇文章主要来和大家简单聊一聊Python中的内存管理,从而可以帮助大家写出更高效,优化内存占用的 Python 代码,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-04-04

最新评论