小编cat*_*dog的帖子

vscode 不会从使用 pybind11 制作的模块自动完成 python

我有一个名为的 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)

python autocomplete visual-studio-code

6
推荐指数
1
解决办法
1207
查看次数

标签 统计

autocomplete ×1

python ×1

visual-studio-code ×1