我的 Python 项目包括一些联机帮助页和 bash 完成脚本。我希望在用户使用例如 pip install mypackage 安装软件包时安装它们。我怎么做?我只是遇到了一种非常野蛮的方法,即在 setup.py 中调用外部脚本(例如 .sh 脚本)。有没有更优雅的方法?
请您参考如下方法:
抱歉,Python 对 bash、man 或其他您可能认为理所当然的事情一无所知。例如,Windows 是一个广泛部署的由 Python 支持的平台,两者都没有。其他平台,甚至是类似 Unix 的平台,也可能没有 bash(例如使用 busybox)并且宁愿不在手册页上花费存储空间。有些用户甚至没有在支持的系统上安装 bash(并使用 zsh 进行交互工作,使用 ash 编写脚本)。
因此,请将您的 egg 存档限制为仅需要 Python 或 Python 扩展的内容。
如果你想安装其他文件,你有几个选择。
- 发布一个存档,其中包含您的软件包的
setup.py和您可能想要包含的任何可选文件,可能还包含它们的安装脚本。 - 为您的目标操作系统创建合适的软件包。其余的将使用选项 1。
- 从安装脚本运行额外的安装步骤(不推荐)。
此外,您不必提供手册页,只需支持--help 即可。例如。 Debian 上的 easy_install 没有手册页,我对此很满意。
