我使用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 它似乎可以正确地检测可执行的,这是以前激活的虚拟环境中的python3.5,但是它为包含和库找到了一些错误的2.7路径。
因此,我只想手动设置这些路径到我的虚拟环境。我在虚拟环境的目录结构中浏览过,我认为我在/users/me/libs/pyvenv/include/python3.5m中找到了includes。但是我找不到libpython*,在我的虚拟环境中根本没有*.so文件。那么在这种情况下我应该使用哪个库呢?
发布于 2019-05-19 07:23:10
限制python库与cmake中找到的解释器版本相匹配:
find_package(PythonInterp REQUIRED)
find_package(PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" REQUIRED )或者,如果FindPython可用,则使用cmake>=3.12
发布于 2021-01-02 19:37:16
类似于这个问题,您可以在virtualenv中运行python并运行
import pybind11
print(pybind11.__file__)
# '/home/me/.pyenv/versions/py36/lib/python3.6/site-packages/pybind11/__init__.py'https://stackoverflow.com/questions/45755341
复制相似问题