首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ImportError:没有在MacOS上使用pybind11命名为<module_name>的模块

ImportError:没有在MacOS上使用pybind11命名为<module_name>的模块
EN

Stack Overflow用户
提问于 2022-04-29 19:33:16
回答 1查看 384关注 0票数 0

我正在尝试将使用C++脚本创建的pybind11模块导入到python中。目录结构是:

pybind_test:

代码语言:javascript
复制
    main.cpp
    build
    CMakeLists.txt
    test.py
    pybind11 (github repo clone)

它成功地构建并创建了文件module_name.cpython-39-darwin.so。然而,当运行test.py时,我得到:

代码语言:javascript
复制
File "../test.py", line 2, in <module>
    from build.module_name import *
ImportError: No module named build.module_name

我的CMakeLists文件:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.4...3.18)
set(CMAKE_CXX_STANDARD 17)
project(pybindtest)
add_subdirectory(pybind11)
pybind11_add_module(module_name main.cpp)

我如何像普通的python模块一样将这个模块导入python?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-29 21:53:49

正如您注意到的,编译后的库必须位于Python可执行文件可访问的路由(就文件路径而言)(这是通过将test.py移动到编译库所在的构建目录实现的)。您还可以将编译后的库移动到您的Python的site-packages文件夹中,在那里存储其他模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72062898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档