我使用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 ,但是它为include和library找到了一些错误的2.7路径。
因此,我只想手动将这些路径设置为我的虚拟环境。我浏览了虚拟环境的目录结构,我认为我在
/users/me/libs/pyvenv/include/python3.5m
中找到了includes。但是我找不到libpython*
,在我的虚拟环境中根本没有*.so
文件。那么在那种情况下我应该使用哪个库? 最佳答案
限制python库以匹配cmake中找到的解释器的版本:
find_package(PythonInterp REQUIRED)
find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED )
或如果cmake> = 3.12可用,则使用FindPython
关于python - 使用Python虚拟环境时,include和lib在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45755341/