Skip to main content
 首页 » 编程设计

python之cli 命令是否应该默认与 python 库一起安装

2025年05月04日10hnrainll

我正在管理包含两部分的 Python JIRA 包:jira python 模块(库)和 jirashell 交互式 CLI 工具。

它们一直捆绑在一起,但 CLI 工具对 IPython 有更新的要求,一些用户提示 ipython was not installed by default .

我将它添加到需求列表中,现在我得到了 others complaining新要求使他们很难使用该库,因为它很大且安装有问题(对他们来说也无用,因为他们只使用该库)。

虽然我知道如何使用可选要求(extras),但我需要决定默认安装什么(pip install jira)

我看到了这两个选项:

  1. 默认应该安装两者(大要求)。只对获取库感兴趣的人应该使用 pip install jira[library] 以避免安装 cli 要求。
  2. 默认应该只安装库,因此 cli 用户只有在使用 pip install jira[cli]
  3. 安装时才能使用它

请投票选出最适合您的答案。

请您参考如下方法:

我喜欢分离实体。 JIRA 客户端库可以在任何地方使用:自动化一些例行操作,作为 cron 脚本运行,作为一些 Web 应用程序的后端管理一些事件,也可以作为命令行应用程序的库。

在我看来,将它们分开是有意义的:不要强制人们安装不必要的依赖项:为什么有人需要 click的 ipython在他们的后端 Flask 服务器上?绝对是选项#2。 顺便问一下,您是否考虑过选项#3:将它们完全分开?单独的存储库,单独的包。这有意义吗? 因此对于 JIRA 库,将运行:

pip install jira 

对于 JIRA cli:

pip install jira-cli 

p.s:我是您库的用户,在生产中积极使用它。好工作! :)