我使用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 中调用它呢?
解决方法:
谢谢,Alex。 所以可以给出给我 site-package 目录的命令是:
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命令可以去除末尾的换行符。
print
语句应该写成:print(get_python_lib())
。 - wesanyer