2013 年 IPython 用户调查¶
完整的答复以及对某些问题的答复摘要以 Google 电子表格 的形式提供。
国家/地区¶
42% 的受访者来自美国,其次是英国(7.1%)和德国(6.7%)。这些数字与两年前的上次用户调查基本相似,但“尾部”国家/地区的分布有所增加。总共有来自 48 个国家/地区的受访者(按频率降序排列)
美国、英国、德国、法国、巴西、加拿大、西班牙、阿根廷、比利时、荷兰、奥地利、澳大利亚、挪威、哥伦比亚、俄罗斯、墨西哥、意大利、捷克共和国、印度、百慕大、爱尔兰、丹麦、新西兰、罗马尼亚、塞尔维亚、新加坡、智利、越南、克罗地亚、瑞士、葡萄牙、中国、台湾、马尔代夫、厄瓜多尔、以色列、萨尔瓦多、斯洛文尼亚、泰国、波兰、芬兰、白俄罗斯、爱沙尼亚、埃及、南非、秘鲁、希腊、日本
请参阅结果电子表格的“国家/地区”工作表以获取清理后的数据。
IPython 版本¶
我们看到了快速的变化 - IPython 1.0 在调查期间发布,到调查结束时,更多的人报告使用 1.0 而不是 0.13,即之前的版本。很少有人使用较旧的版本,尽管有两个人提到使用 0.8 系列。
调查受访者可能偏向于积极将 IPython 更新到较新版本的人,因此我们可以假设更大比例的总用户群使用的是较旧版本。尽管如此,采用率还是令人鼓舞的。
IPython 组件¶
笔记本是最受欢迎的组件,84% 的人表示使用它,其次是经典终端界面(76%)。Qt 控制台是最不常用的界面(27%)。
超过一半的受访者使用 pylab(55%)。16% 的人使用 IPython 中的并行计算框架。
人们提到的其他组件包括 nbconvert、nbviewer、rmagic 和 traitlets。我们应该在未来的调查中包括其中一些组件。
平台¶
这些结果与之前的调查类似。Linux 是最流行的操作系统(81%),而使用 Windows(34%)和 Mac(39%)的人数大致相等。在云平台中,只有 Amazon EC2 有任何显着的使用量,有 6% 的受访者使用它。
较小平台:两个人在这里列出了 Wakari(其他人将其列在嵌入式产品下)。两个人使用 Microsoft Azure。FreeBSD、AIX、Rackspace 和 Raspberry Pi 各被提及一次。
Python 版本¶
正如预期的那样,Python 2.7 是使用最广泛的版本(97%)。但是,很大一部分(22%)的用户还将 IPython 与 Python 3.3 一起使用。7% 的用户仍在使用 Python 2.6,4% 的用户使用 3.2 - 我们将在 IPython 2.0 中停止对这两个版本的支持。极少有人使用更早的版本。
集成 IPython 的项目¶
59 人(13%)报告称将 IPython 与Spyder IDE一起使用。据传闻,我们在欧洲看到使用 Spyder 的人比在北美更多,结果在某种程度上支持了这一点。尽管美国仍然是 IPython 和 Spyder 用户中最大的单一国家,但它仅占用户总数的 20%,低于整个调查中美国的 42%。
将 IPython 与两个重量级编辑器 vim 和 emacs 集成的项目分别有 12 个和 10 个用户。其他集成项的长列表包括编辑器、Python 软件包和网络上的托管服务,但只有少数受访者提到了每个集成项。
有关清理后的数据,请参阅结果电子表格的“集成”工作表。
安装¶
没有一种安装方法占主导地位。领先的技术是 pip/easy_install(48%)、Linux 发行版存储库(44%)和 Python 发行版(38%)。
支持资源¶
几乎所有用户(91%)报告称使用在线文档,这突出了保持文档更新的重要性。Stackoverflow 也非常重要(68%)。相比之下,只有 3% 的受访者使用过我们的 Hipchat 聊天室 - 尽管这些聊天室相当新,但人们可能还不知道它们。
角色¶
再一次,我们的许多用户都在学术界(65%),但我们还有一大批用户在工业界(38%)和“爱好”使用(37%),即在工作之外使用 IPython 的人。这些数字无法直接与上次调查进行比较,因为上次,这些类别取自自由文本答案。
24% 的受访者还表示他们在教育中使用 IPython。在未来,我们可以进一步细分这一点,以了解教学和学习。
用例¶
人们对他们在其中使用 IPython 的项目进行了多种多样的描述。一些具体亮点包括对量子计算系统建模(结果电子表格中的第 93 行)、计算机视觉(162)、语言的系统发育关系(201)、电子民主(261)、动物脚下的压力测量(423)以及处理粒子对撞机(195)和伽马射线望远镜(454)的数据。
对答复进行分组,人们至少在以下领域使用 IPython
金融/经济
生物信息学
神经科学
化学
天文学
物理学
以及以下方式
机器学习
数据清理
撰写论文
开发其他应用程序和库
Matlab 替代品
建议框¶
分类建议列在结果电子表格的“建议”工作表中。一些答复被分成多条建议。
出现了许多主题
nbconvert:自调查以来已经有了很大改进,并且我们仍在继续改进它。
文件导航,不同目录中的笔记本:即将在 IPython 2 中推出!
小部件:即将在 IPython 2 中推出!
交互式绘图:各种项目正在探索这一点,IPython 2 中的新小部件机制将为进一步的工作提供基础。
变量资源管理器:可以在小部件框架之上构建一个变量资源管理器。
键盘快捷键:在 IPython 2 中得到了极大的改进,并且更加可自定义。
JS API:IPython 2 有一个“nbextension”系统,Javascript API 逐渐变得更加稳定。
处理长笔记本的更好方法:IPython 3 的重点。
与其他语言集成:IPython 3 将通过将多种内核类型集成到 UI 中来迈出一大步。
多用户支持:多用户服务器是 IPython 3 的目标。Jiffylab 和 IPydra 等其他项目提供了另一种多用户服务器模型。
文档:我们正在改进它们,但我们仍然可以做得更好。
并行:ipcluster 的启动器需要各种改进。我们计划将 ipcluster 脚本重写为 RPC 服务,这应该改善许多此类情况,尤其是 SSH。文档也需要大量关注,特别是因为有几项已经存在的特性的请求。
安全性:经过长时间的讨论,我们为 IPython 2 创建了一个新的安全模型。
安装:我们向新用户推荐 Anaconda,它是一个下载包,其中包括 Python、IPython、numpy 和许多其他包。我们知道安装可能会很痛苦,但我们目前不知道如何很好地解决这个问题。
隐藏单元格:我们计划为 nbconvert 添加此选项。我们还计划在笔记本 UI 中标记单元格的方法,该方法可用于控制 nbconvert 显示的内容。
并发编辑:重点关注,但还有一些差距。我们需要首先对多用户进行排序。
Python 3 支持:我(Thomas)每天都使用 Python 3,我将继续改进文档、示例等。
编辑器功能:我们正在启用 CodeMirror 功能,如括号匹配。重构工具和静态分析等功能应该可以作为扩展来编写。
Sphinx 集成:重点关注。yt 项目对此做了一些工作。
幻灯片:自 1.0 以来,已改进导出为静态幻灯片,并且正在开发一个扩展,以将实时可执行笔记本作为幻灯片展示。
与版本控制集成:目前没有计划。
调试器:目前没有计划。
其他评论¶
分类评论列在结果电子表格的“评论”工作表中。
感谢所有使用评论或建议字段来感谢或赞美我们的人。当我们编写调查时,我们并没有真正寻求赞美。
更多人希望获得更好的文档 - 请参阅上面的部分。
除此之外,评论中没有明显的主题。所有这些都已阅读。如果您想跟进,请与我们联系 - 调查是匿名的,因此我们无法与您联系。