【问题标题】:Check python header on macro text processor install script检查宏文本处理器安装脚本上的 python 标头
【发布时间】:2019-06-09 09:36:42
【问题描述】:

头文件通常随 Python 一起安装。在 Unix 上,它们位于目录 $prefix/include/pythonversion/ 和 $exec_prefix/include/pythonversion/ 中,其中 $prefix 和 $exec_prefix 由 Python 的配置脚本的相应参数定义,版本是 sys.version。在 Windows 上,头文件安装在 $prefix/include 中,其中 $prefix 是指定给安装程序的安装目录。 所以我有这个宏

Macro

问题出在这段代码上

if test "$PYTHON_PLATFORM" != "win32"; then
   py_versiondir="/python${PYTHON_VERSION}"
else
   py_versiondir=
fi

MinGW(在 Windows 上)例如可以有版本化的标头 python 文件夹,因此脚本不起作用。

我该如何解决?

【问题讨论】:

  • 什么是“它”?是否有版本化的 Python 文件夹(链接会很方便,我从未听说过)?版本控制的 Python 文件夹是什么? 如何获取它们?完全不同的东西?
  • @l0b0 在 MinGW 上,python 头文件位于版本化文件夹中,例如 python2 或 python3
  • 恐怕这不会让我更接近于理解这个问题。 Python 没有头文件。

标签: makefile macros mingw autotools mingw-w64


【解决方案1】:

由于您正在为 Autoconf 编写代码,因此您应该考虑将来自 the Autoconf ArchiveAX_PYTHON 宏添加到您的包中并使用它。 (如果您这样做,请注意许可要求。)

或者,如果出于某种原因不想使用AX_PYTHON,那么至少通过让 Python 告诉它答案来看看它是否有效。这是它的核心:

 ax_python_header=`$ax_python_bin -c "from distutils.sysconfig import *; print(get_config_var('CONFINCLUDEPY'))"`

$ax_python_bin 之前设置为 Python 可执行文件的路径。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 2010-10-20
    • 2021-01-13
    • 2020-05-22
    相关资源
    最近更新 更多