gpt4 book ai didi

python - 独立于平台的方式来查找 libpython 的路径(例如,用于 cmake)

转载 作者:太空狗 更新时间:2023-10-30 00:18:48 24 4
gpt4 key购买 nike

是否有任何独立于平台的方法来获取 python 安装的 libpython 的路径,以用作 cmake 参数? sysconfig.get_config_var 提供了一些片段,但我没有一致的方法可以让它正常工作。

在 OSX 上:

  • 没有变量包含库的实际基本名称 (libpython2.7.dylib)
  • sysconfig.get_config_var('LIBDIR') 返回 libpython2.7.dylib 所在的目录 (/usr/local/opt/python/Frameworks/Python.framework/Versions/2.7/lib)
  • 编辑:在 sysconfig 报告符号链接(symbolic link)和报告真实路径时似乎存在一些差异。 LIBDIR 实际上包含 libpython.2.7.dylib,但我刚刚注意到这是到/usr/local/Cellar/python/2.7.13_1/Frameworks/Python.framework/Versions 的符号链接(symbolic link)/2.7/ python 。

    INSTSONAME 指向 Python.framework/Versions/2.7/Python,该路径的基本名称,但我找不到指向该路径父部分的变量。

    <

在 Ubuntu 上:

  • sysconfig.get_config_var('INSTSONAME') 给我库的名称 (libpython2.7.so.1.0)。
  • 没有变量包含它所在的目录 (/usr/lib/x86_64-linux-gnu/)。
    • LIBDIR 只返回/usr/lib

最佳答案

CMake python 模块:FindPythonLibsFindPythonInterp .

如果这些对您不起作用,只需在调用 cmake -DPYTHON_EXECUTABLE:FILEPATH-DPYTHON_LIBRARY:FILEPATH-DPYTHON_INCLUDE_DIR:FILEPAT 时设置下一个变量,更多信息请查看here .

例子:

cmake .. -G "Sublime Text 2 - Ninja"
-DCMAKE_BUILD_TYPE=Release
-DPYTHON_EXECUTABLE:FILEPATH=d:\virtualenvs\python362_32
-DPYTHON_LIBRARY:FILEPATH=d:\virtualenvs\python362_32\libs\python36.lib
-DPYTHON_INCLUDE_DIR:FILEPAT=d:\virtualenvs\python362_32\include

关于python - 独立于平台的方式来查找 libpython 的路径(例如,用于 cmake),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46384946/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com