程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将 pyd 导入 Python (ModuleNotFoundError)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将 pyd 导入 Python (ModuleNotFoundError)?

开发过程中遇到将 pyd 导入 Python (ModuleNotFoundError)的问题如何解决?下面主要结合日常开发的经验,给出你关于将 pyd 导入 Python (ModuleNotFoundError)的解决方法建议,希望对你解决将 pyd 导入 Python (ModuleNotFoundError)有所启发或帮助;

我有这个 C++ 库,我用 pybind11 编写了绑定,然后我用 cmake 构建。

在 linux 上,我得到了一个 .so 文件,我可以毫无问题地导入它:

build 
   -CMakeCache.txt
   -CMakefiles
   -cmake_install.cmake
   -Makefile
   -mylib.cpython-39-x86_64-linux-gnu.so

当我在同一个文件夹中打开 python 时,我可以毫无问题地导入它,只需使用 import mylib

在 windows 上,我通过 MSYS 64 位和 MinGW-w64-x86_64-cmake 构建它

cmake -A x64 ..(在 build 文件夹中,项目根目录是上面的文件夹 -> ..

然后构建我运行 cmake --build . --config Release(Visual studio 15 2017 构建文件)

生成一个“Release”文件夹,里面有3个文件。

Release
    - mylib.cp39-win_amd64.pyd
    - mylib.exp
    - mylib.lib

当我打开 python(通过 MSYS 和 PowersHell)时,我无法导入 @H_628_7@mylib

Python 3.9.6 (default,Jul 12 2021,05:46:11)  [GCC 10.3.0 64 bit (AMD64)] on win32
Type "Help","copyright","credits" or "license" for more information.
>>> import mylib
TraceBACk (most recent call last):
  file "<stdin>",line 1,in <module>
ModuleNotFoundError: No module named 'mylib'

我也尝试将 @H_628_7@mylib.cp39-win_amd64.pyd 重命名为 @H_628_7@mylib.pyd,这无济于事,但确实改变了错误

Python 3.9.6 (default,in <module>
importError: DLL load Failed while imporTing mylib: The specifIEd module Could not be found.

我查看了有关堆栈溢出的其他类似问题,但没有一个可以帮助我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的将 pyd 导入 Python (ModuleNotFoundError)全部内容,希望文章能够帮你解决将 pyd 导入 Python (ModuleNotFoundError)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。