使用Python虚拟环境时include和libs在哪里?

Mic*_*ael 6 python cmake virtualenv pybind11

我使用Python虚拟环境.基本上,它工作正常,但在编译一些Python绑定时遇到问题,即使用libIGL和pybind11.

CMake具有以下与Python相关的变量:

 PYTHON_EXECUTABLE                /users/me/libs/pyvenv/bin/python                           
 PYTHON_INCLUDE_DIR               /usr/include/python2.7                                          
 PYTHON_LIBRARY                   /usr/lib64/libpython2.7.so 
Run Code Online (Sandbox Code Playgroud)

它似乎可以正确检测可执行文件,它是以前激活的虚拟环境的python3.5,但是它为包含和库找到了一些错误的2.7路径.

所以我想手动将这些路径设置到我的虚拟环境中.我浏览了虚拟环境的目录结构,我想我发现了包含在中/users/me/libs/pyvenv/include/python3.5m.但我找不到libpython*,*.so我的虚拟环境中根本没有文件.那么在那种情况下我应该使用哪个库?

Ser*_*gei 0

限制 python 库以匹配 cmake 中找到的解释器的版本:

find_package(PythonInterp REQUIRED)
find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED )
Run Code Online (Sandbox Code Playgroud)

或者如果 cmake>=3.12 可用,则使用FindPython