我使用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/