在setuptools中包含Bash自动补全

4 投票
2 回答
1249 浏览
提问于 2025-04-16 00:29

我在PyPI上有几个软件包,我想给它们加上自动补全的功能。请问,怎么检查一下Bash的自动补全功能是否应该安装呢?是不是可以检查一下/etc/bash_completion这个文件?还有,怎么用setup.py来安装这个功能呢?最好是用setuptools来做。

2 个回答

3

你可以使用 data_files 选项:

from setuptools import setup
setup(
  ...
  data_files=[
      ('/etc/bash_completion.d/', ['extra/some_completion_script']),
    ]
)
3

如果你需要一些操作系统级别的包(比如 bash-completion),那么你应该把你的库打包成操作系统级别的包。也就是说,打包成 .deb.rpm 等格式。这里有一些小建议:

在生成包的过程中,你可以调用你的 setuptools 脚本来安装 Python 代码。为了确保 bash-completion 被安装,你可以把它指定为一个必需的包。

撰写回答