我正在管理包含两部分的 Python JIRA 包:jira python 模块(库)和 jirashell 交互式 CLI 工具。
它们一直捆绑在一起,但 CLI 工具对 IPython 有更新的要求,一些用户提示 ipython was not installed by default .
我将它添加到需求列表中,现在我得到了 others complaining新要求使他们很难使用该库,因为它很大且安装有问题(对他们来说也无用,因为他们只使用该库)。
虽然我知道如何使用可选要求(extras),但我需要决定默认安装什么(pip install jira)
我看到了这两个选项:
- 默认应该安装两者(大要求)。只对获取库感兴趣的人应该使用
pip install jira[library]以避免安装 cli 要求。 - 默认应该只安装库,因此
cli用户只有在使用pip install jira[cli] 安装时才能使用它
请投票选出最适合您的答案。
请您参考如下方法:
我喜欢分离实体。 JIRA 客户端库可以在任何地方使用:自动化一些例行操作,作为 cron 脚本运行,作为一些 Web 应用程序的后端管理一些事件,也可以作为命令行应用程序的库。
在我看来,将它们分开是有意义的:不要强制人们安装不必要的依赖项:为什么有人需要 click的 ipython在他们的后端 Flask 服务器上?绝对是选项#2。 顺便问一下,您是否考虑过选项#3:将它们完全分开?单独的存储库,单独的包。这有意义吗? 因此对于 JIRA 库,将运行:
pip install jira
对于 JIRA cli:
pip install jira-cli
p.s:我是您库的用户,在生产中积极使用它。好工作! :)
