gpt4 book ai didi

python - 从 bash 脚本检查 Python 开发文件是否存在

转载 作者:太空狗 更新时间:2023-10-29 20:23:23 25 4
gpt4 key购买 nike

我正在创建一个简单的 bash 脚本来下载和安装 python Nagios 插件。在一些较旧的服务器上,脚本可能需要安装子进程模块,因此我需要确保安装了正确的 python-devel 文件。

检查这些文件的合适的跨平台方法是什么。想远离 rpm 或 apt。

如果你能告诉我如何从 python 中进行检查,那将是可行的。谢谢!

更新:

这是我想到的最好的。有谁知道更好或更有说服力的方法吗?

if [ ! -e $(python -c 'from distutils.sysconfig import get_makefile_filename as m; print m()') ]; then echo "Sorry"; fi

最佳答案

这几乎就是我要做的事情。看起来很简单。

但是,如果我真的需要确定为当前版本的 Python 安装了 python-devel 文件,我会查找相关的 Python.h 文件.类似的东西:

# first, makes sure distutils.sysconfig usable
if ! $(python -c "import distutils.sysconfig.get_config_vars" &> /dev/null); then
echo "ERROR: distutils.sysconfig not usable" >&2
exit 2
fi

# get include path for this python version
INCLUDE_PY=$(python -c "from distutils import sysconfig as s; print s.get_config_vars()['INCLUDEPY']")
if [ ! -f "${INCLUDE_PY}/Python.h" ]; then
echo "ERROR: python-devel not installed" >&2
exit 3
fi

注意:distutils.sysconfig 可能并非在所有平台上都受支持,因此不是最便携的解决方案,但仍然比尝试迎合 apt 的变化更好rpm 等。

如果您真的需要支持所有 平台,可能值得探索AX_PYTHON_DEVEL 中所做的工作。 m4模块。此模块可用于 configure.ac 脚本,以在 autotools./configure 阶段合并对 python-devel 的检查。基于构建。

关于python - 从 bash 脚本检查 Python 开发文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4848566/

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