我使用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()"

在shell上,但是我如何从cmake调用它?
解决方案:
谢谢,亚历克斯。
所以给我site package dir的命令是:
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)

需要输出\u strip \u trailing \u whitespace命令删除尾随的新行。

最佳答案

您可以使用execute_process在cmake中执行外部进程(并在需要时将输出转换为变量,如此处所示)。

关于python - 使用CMake查找python site-packages目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1242904/

10-13 05:07
查看更多