ImportError: No module named <module_name> with pybind11 on MacOS
ImportError: No module named <module_name> with pybind11 on MacOS
我正在尝试将使用 pybind11 创建的 C++ 模块导入 python 脚本。
目录结构为:
pybind_test:
main.cpp
build
CMakeLists.txt
test.py
pybind11 (github repo clone)
构建成功并创建文件module_name.cpython-39-darwin.so
。然而,当 运行 test.py 我得到:
File "../test.py", line 2, in <module>
from build.module_name import *
ImportError: No module named build.module_name
我的 CMakeLists 文件:
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?
如您所见,已编译的库必须位于 Python 可执行文件(您通过将 test.py
移至构建目录实现的路径)可访问的路径(根据文件路径),其中你编译的库是)。
您还可以将已编译的库移动到 Python 的 site-packages
文件夹,其他模块都存储在该文件夹中。
我正在尝试将使用 pybind11 创建的 C++ 模块导入 python 脚本。 目录结构为:
pybind_test:
main.cpp
build
CMakeLists.txt
test.py
pybind11 (github repo clone)
构建成功并创建文件module_name.cpython-39-darwin.so
。然而,当 运行 test.py 我得到:
File "../test.py", line 2, in <module>
from build.module_name import *
ImportError: No module named build.module_name
我的 CMakeLists 文件:
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?
如您所见,已编译的库必须位于 Python 可执行文件(您通过将 test.py
移至构建目录实现的路径)可访问的路径(根据文件路径),其中你编译的库是)。
您还可以将已编译的库移动到 Python 的 site-packages
文件夹,其他模块都存储在该文件夹中。