2017 年 Python 领域值得关注的 5 个库、工具和开发者

2017-12-31 🎁 麻瓜编程 麻瓜编程

今年 Python 增长迅猛,也有了不少新东西,在这里推荐 5 个值得在 2018 年继续关注的库、工具和开发者,看看有没有你没听过的?


🚀

值得关注的 5 个 Python 库


# Web 领域:Sanic



这个库的名字和之前一个很火的梗有关,有人在 youtube 上画 Sonic 那个蓝色小人,结果一本正经的画出了下面这货,给它起名叫 Sanic,还配了一句话是 Gotta go faster.



这个库和 Flask 类似,但是比它快很多,速度能在测试中达到每秒 36000 次请求。在2017年的 Star 增长数几乎是翻了一倍。Gotta go faster!


# 环境与包管理:Pipenv



这个库相当于是环境管理和包管理二合一,由 Kenneth Reitz (Requests 的作者 )编写,现在移交给 Python 官方来维护,提供比 pip 体验更好的开发包管理。它的 Slogon 是Python Development Workflow for Humans,用来解决各种环境不一致、安装包的问题。


# 爬虫:Requestium



现在反爬虫技术越来越厉害,常见的请求 + 解析爬虫随着频率变大和前端开发的复杂化变得并不是那么奏效。Requestium 的好处是,结合了 Chrome 59 以后的 headless 无头特性(代替了 phantomjs)。虽然效率稍微低一点,但是稳,前端渲染的网页也可以爬取解析。是 Requests, Selenium 和 Parsel 的结合体。


# 深度学习:Caffe2



是一个深度学习的库,优势是它是由 Facebook 团队来维护的。可能深度学习方面大家听得最多的是 Tensorflow,但 Caffe2 学习起来更简单轻量,并且它的背景能支持它有一个健壮的发展。


# 文本处理:FlashText



这个库的开发者在 medium 上发了一篇文章,标题是:Regex was taking 5 days to run. So I built a tool that did it in 15 minutes. (正则要花5天时间才能完成,所以我做了个工具在15分钟内搞定)。这个库可以快速进行大规模语料库的文本搜索与替换。当关键词数量>500 的时候,FlashText 的搜索速度开始超过正则。



🚚

值得关注的 5 个工具


# 最强终端:Upterm



其实本来想推荐 fish 或者 zsh,但其实这两个我也主要是贪图自动补全这个特性。最近在用的这个 Upterm 其实很简单好用,它是一个全平台的终端,可以说是终端里的 IDE,有着强大的自动补全功能。之前的名字叫 BlackWindow,有人跟他说这个名字不利于社区推广,改名叫 Upterm 之后现在已经17000+ Star了。


# 交互式解释器:Ptpython



一个交互式的 Python 解释器。支持语法高亮、提示甚至是 vim 和 emacs 的键入模式。其实我们在课程里提供的在线终端也内置了 ptpython。


# 包管理必备:Anaconda



真的要强烈推荐 Anaconda ,它能帮你安装好许多麻烦的东西,包括: Python 环境、pip 包管理工具、常用的库、配置好环境路径等等。这些事情小白自己一个个去做的话,容易遇到各种问题,带来挫败感。


如果你想用 Python 搞数据方面的事情,就安装它就好了,它甚至开发了一套 JIT 的解释器 Numba。所以 Anaconda 有了 JIT 之后,对线上科学计算效率要求比较高的东西也可以搞了。


# 编辑器:Sublime3



无意引发编辑器大战,小白的话当然还是要从 PyCharm 开始上手,但有时候写一些轻量的小脚本,就会想用轻量级一点的工具。


今年用了一圈各种编辑器,发现 Sublime 更新了真·无双·三·零版本之后,很多地方都有了极大的提升(尤其是大家比较关心的颜值),并且用起来比原来还要简单。配合安装 Anaconda 或 CodeIntel 插件 ,就可以让 Sublime 拥有近乎 IDE 的体验。


另外我觉得有一个对于强迫症很重要的,就是 Sublime 的字体颜色渲染,像 VSCode Atom 类 的编辑器我总会觉得颜色会有点发乌、不鲜艳,就像在 PS 做的图拿到浏览器里会不一样,长时间看会不舒服甚至想吐……


Sublime 是编辑器里面更像 IDE 的,比较轻量。


# 前端在线编辑器:CodeSandbox



虽然这个不算是 Python 开发工具,但如果后端工程师想写前端的话,这个在线编辑器太方便了,简直是节省了后端工程师的生命啊!不用安装 npm 的几千个包了,它已经在云端完成了,采让你直接就可以上手写代码、看效果。对于 React、Vue 这些主流前端框架都支持。