我有一个名为的 python 模块relatpy.cpython-38-x86_64-linux-gnu.so,是我使用 pybind11 和自定义 C++ 库创建的。当我使用类似的东西在终端中导入这个模块时,ipython我得到了如图所示的功能自动完成功能。
但是在 vscode 中我没有得到任何自动完成功能,我只是得到了消息Import "relatpy" could not be resolved。导入这个模块的python文件在vscode中仍然可以正常运行,只是没有自动补全。
我是否必须将此模块添加到我的 PYTHONPATH 中,或者我该如何执行此操作?这个模块也经常被重建,所以有没有办法让自动补全工作,即使模块发生变化?
我在 vscode 中使用 pylance 作为 python 语言服务器。
我使用以下 CMakeLists.txt 创建了 pybind11 模块:
project(relatpy)
find_package(pybind11 REQUIRED)
file(GLOB SOURCES "../relativity/src/*.cpp")
file(GLOB HEADERS "../relativity/include/*.h")
file(GLOB BINDINGS "*.cpp")
pybind11_add_module(${PROJECT_NAME} ${SOURCES} ${HEADERS} ${BINDINGS})
set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PYTHON_DIR})
Run Code Online (Sandbox Code Playgroud)