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 输出过于冗长。

虽然为自动化环境用户提供良好的体验很重要,但交互模式用户却没有得到充分的服务。

Answer to question - I use pip in an automated environment

Answer to question - I use pip interactively

91% 的用户表示他们交互式地使用 pip。但这并不排除他们在自动化环境中使用 pip。

Answer to the question - What do you use Python for?