2017-05-24 68 views
0

我正在管理Python JIRA包,它包含两个部分:jira python模块(库)和jirashell交互式CLI工具。应该使用python库默认安装cli命令吗?

他们被捆绑在一起,因为永远,但CLI工具有一个新的要求IPython和一些用户抱怨说ipython was not installed by default

我将它添加到需求列表中,现在我得到了others complaining,新需求使他们对库的使用相当困难,因为安装很大并且存在问题(对于他们也是无用的,因为他们只使用库)。

虽然我不知道如何使用可选的要求(临时演员),我需要做一个什么被默认安装的决定(pip install jira

我看到这两个选项:

  1. 默认应同时安装(很大的需求)。只对获得图书馆感兴趣的人应使用pip install jira[library]以避免安装cli要求。
  2. 默认只应安装库,因此cli用户将能够使用它,只有当他们安装它与pip install jira[cli]

请投票,看起来最适合你的方法了答案。

+0

这几乎肯定会被视为“主要基于意见”。我会选择grundio建议的选项3。我也广泛使用你的工具,但是我从来没有在jira-shell中看到超过登录的价值,我有一个简单的函数来做到这一点。 – kdopen

回答

0

默认安装librarycli,允许其他人为他们的使用情况使用更复杂的方式。

3

我个人默认使用的版本不会让不必要的依赖地狱的人受到影响,你的#2。除了显而易见的命令之外,运行另一个命令并不难,以获得所需的额外内容,但试图弄清楚您不需要运行显而易见的命令以避免损坏就会非常令人沮丧和不透明。

这就是说,这是相当主观的,并取决于您的用户的需求。

+0

谢谢!我会等待看看是否有关于用户选项的趋势。我正在努力让这个决定变得不那么主观。避免大多数用户的行为变化是客观原因。 – sorin

5

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

在我看来,将它们分开是有道理的:不要强迫别人安装不必要的依赖项:为什么有人需要在他们的后端使用ipythonclick Flask服务器?绝对可选#2。 顺便说一下,你有没有考虑选项#3:完全分开它们?分开的软件仓库,单独的软件包。它有道理吗? 所以对于JIRA库中的一个可以运行:

pip install jira 

而对于JIRA CLI:

pip install jira-cli 

P.S:我是你的库的用户,积极利用它在生产。做得好! :)

+0

我会把你的答案作为#3,“分裂”,这是我想要避免额外的维护负担不惜一切代价。感谢您的反馈。我想我知道哪一个会赢,但我会等几天休息。 – sorin

相关问题