头文件通常与Python一起安装。在Unix上,它们位于目录$ prefix / include / pythonversion /和$ exec_prefix / include / pythonversion /中,其中$ prefix和$ exec_prefix由Python的配置脚本的相应参数定义,版本为sys.version。在Windows上,标头安装在$ prefix / include中,其中$ prefix是为安装程序指定的安装目录。 所以我有这个宏
问题出在这段代码上
if test "$PYTHON_PLATFORM" != "win32"; then
py_versiondir="/python${PYTHON_VERSION}"
else
py_versiondir=
fi
例如,MinGW(在Windows上)可以具有版本化的标头python文件夹,因此脚本不起作用。
我该如何解决?
答案 0 :(得分:1)
由于您正在编写Autoconf,因此应该考虑将AX_PYTHON
中的the Autoconf Archive宏添加到程序包中并使用它。 (请注意许可要求。)
或者,如果出于某种原因,您不想使用AX_PYTHON
,那么至少可以通过让Python告诉它答案来看看它是否有效。这是它的核心:
ax_python_header=`$ax_python_bin -c "from distutils.sysconfig import *; print(get_config_var('CONFINCLUDEPY'))"`
({$ax_python_bin
先前已设置为Python可执行文件的路径。)