我使用 Python 虚拟环境。基本上,它工作正常,但我在编译一些 Python 绑定(bind)时遇到了问题,即 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
它似乎可以正确检测到先前激活的虚拟环境的可执行文件是python3.5,但是它发现了一些错误的2.7路径,包括和库。
所以我只想手动将这些路径设置到我的虚拟环境中。我浏览了虚拟环境的目录结构,我想我在 /users/me/libs/pyvenv/include/python3.5m
中找到了包含。但是我找不到libpython*
,我的虚拟环境中根本没有*.so
文件。那么在这种情况下我应该使用哪个库?
最佳答案
限制 python 库以匹配在 cmake 中找到的解释器的版本:
find_package(PythonInterp REQUIRED)
find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED )
或者使用FindPython如果 cmake>=3.12 可用
关于python - 使用 Python 虚拟环境时,include 和 libs 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45755341/