我使用 CMake 来构建我的应用程序。如何找到 python site-packages 目录的位置?我需要路径才能编译 python 的扩展。
当我计划在 Linux、Mac 和 Windows 上部署我的应用程序时,CMake 必须能够在所有三个主要操作系统上找到路径。
我尝试使用
include(FindPythonLibs)
find_path( PYTHON_SITE_PACKAGES site-packages ${PYTHON_INCLUDE_PATH}/.. )
然而那是行不通的。
我也可以通过运行获取路径
python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"
在外壳上,但我将如何从 CMake 调用它?
解决方案:
谢谢,亚历克斯。所以给我站点包目录的命令是:
execute_process ( COMMAND python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
需要 OUTPUT_STRIP_TRAILING_WHITESPACE 命令来删除尾随的新行。