pip 在交互式环境(例如 CI、CD)中的使用¶
问题¶
我们想知道 pip 用户在哪些情况下使用 pip - 交互式(例如,在命令行终端输入 pip 命令)和自动化环境(例如,作为持续软件集成或持续软件开发管道的一部分)。
不同的使用环境意味着用户有不同的重要和常见任务;这意味着他们何时、何地以及如何完成这些任务是不同的。
每个环境都有不同的需求:交互式使用需要在正确的时间提供正确的反馈/输出,而自动化环境则不需要在当前时刻提供反馈,但在任务完成后需要提供详细的反馈。
我们还想知道用户使用 pip 的目的 - 作为他们软件开发工具链的一部分,还是纯粹作为软件安装程序(类似于 Ubuntu Aptitude 或 Mac Appstore)。我们还询问了他们对 pip 从源代码构建包的需求。
研究¶
我们创建了一个调查,并要求用户对以下陈述进行回答
我在自动化环境(例如 CI/CD 管道)中使用 pip
我在 CI/CD 管道中遇到 pip 的问题
我交互式地使用 pip(例如,在命令行上输入 pip 命令)
我开发软件,并将 pip 用作我的软件开发工作流程的一部分
我只使用 pip 来安装和使用 Python 包
我需要 pip 从源代码构建软件包
结果¶
交互式地使用 pip 占 pip 使用的大多数 (91%),其中大多数 (73%) 的使用是基本使用 - 仅用于安装和使用 Python 包。
一半 (51%) 的参与者在自动化环境中使用 pip,只有 9% 的人在该自动化环境中遇到 pip 的问题。这表明这些用户的体验很好。
71% 的用户将 pip 用作其软件工具链的一部分,只有 29% 的用户需要 pip 从源代码构建。
这些结果表明,主要的使用环境是交互式的 - 用户要么编写代码,要么在命令行上安装软件,我们从其他研究中了解到交互式使用存在问题,例如 pip 输出过于冗长。
虽然为自动化环境用户提供良好的体验很重要,但交互模式用户却没有得到充分的服务。
91% 的用户表示他们交互式地使用 pip。但这并不排除他们在自动化环境中使用 pip。