我正在管理Python JIRA包,它包含两个部分:jira python模块(库)和jirashell交互式CLI工具。
他们永远捆绑在一起,但CLI工具有一个更新的要求IPython,一些用户抱怨ipython was not installed by default。
我将它添加到需求列表中,现在我得到others complaining新要求使得他们对库的使用非常困难,因为安装很大且有问题(因为他们使用它们也没用只有图书馆。)
虽然我知道如何使用可选要求(附加内容),但我需要决定默认情况下安装的内容(pip install jira
)
我看到了这两个选项:
pip install jira[library]
以避免安装cli要求。cli
用户只有在使用pip install jira[cli]
请投票给您最好的答案。
答案 0 :(得分:5)
我喜欢分离实体。 JIRA客户端库可以在任何地方使用:自动化一些例行操作,作为cron脚本运行,管理一些活动作为某些Web应用程序的后端,以及作为命令行应用程序的库。
在我看来,将它们分开是有意义的:不要强迫人们安装不必要的依赖项:为什么有人需要click的ipython后端Flask服务器?绝对选项#2 。 顺便问一下,您是否考虑过选项#3 :完全将它们分开?单独的存储库,单独的包。它会有意义吗? 因此,对于JIRA库,可以运行:
pip install jira
对于JIRA cli:
pip install jira-cli
p.s:我是您图书馆的用户,在制作时积极使用它。做得好! :)
答案 1 :(得分:3)
我个人默认使用的版本不会让人们陷入不必要的依赖地狱,你的#2。除了显而易见的命令之外,运行另一个命令并不难以获得你需要的额外功能,但是试图找出你不需要运行明显的命令以避免破坏,这可能会非常令人沮丧和不透明。
尽管如此,这是非常主观的,取决于用户的需求。
答案 2 :(得分:0)
默认安装library
和cli
,允许其他人使用更复杂的方式处理其使用案例。