Python开发必备的6个库,有了它事半功倍!

01 Python 必备之 PyPy

PyPy 主要用于何处?

如果你需要更快的 Python 应用程序,最简单的实现的方法就是通过 PyPy ,Python 运行时与实时(JIT)编译器。与使用普通的 Python 对等程序相比,使用 PyPy 的 Python 应用程序的运行速度平均提升7.5倍。不幸的是,PyPy 与许多 Python 的明星框架并不是很好地兼容。PyPy 5.9 在解决这个问题上取得了重大进展。

PyPy 5.9 的功能

数据科学框架 NumPy 和 Pandas 现在运行在 PyPy 的 Python 2.7 兼容版本上。这些框架的大部分问题来源于 PyPy 与现有 C 代码的接口。为了解决这个问题,PyPy 5.9 对 CFFI 库(见下文)和 PyPy 的 Python C API 兼容性层进行了改进。

此外,在 5.9 发布版本中,PyPy 的 JSON 解析器在处理多种 JSON 对象,尤其是那些重复使用的相同的词典键值时,明显更快。

何处下载 PyPy 5.9

你可以直接从 PyPy 的网站下载二进制版本。官方二进制文件包括 Windows、Mac OS 和 Linux 的不同 CPU 架构。请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。

BitBucket 上有源代码和错误跟踪记录。

02 Python 必备之 CFFI

CFFI 主要用于何处? C 外部函数接口库(CFFI)为 Python 应用程序与独立 C 库的交互提供了一种机制。虽然 Python 的 stock 版本,CPython,也拥有自己的库来完成此类功能,称为 Ctypes ,但对 Python 用户来说,比起 Ctypes ,CFFI 使得与 C 库的交互更容易、更简便。

CFFI 1.11 的功能与 PyPy 一起更新的 CFFI v1.11 增加了很小但很有用的改动。现在可以在即将发布的 Python 3.7 上使用betas了,在 Windows 上更好地支持外部错误处理,并支持 C 语言中更多的现代标准类型,例如 float/double _Complex 和 char16_t和char_32t 类型。最后两个也是最重要的,在 C 库中默认使用 Unicode 编码。

何处下载 CFFI 1.11 ?

CFFI 在 Python Package Index 上可以单独下载,或通过 Python 的 pip 工具安装:pip install cffi 。源码和问题跟踪可以在 BitBucket 上找到。

03 Python 必备之 PyInstaller

PyInstaller 主要用于何处?关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?” PyInstaller 一直是对此最好的答案之一。

PyInstaller 3.3 的功能PyInstaller 将 Python 应用程序打包到单目录或单文件的可执行文件中,捆绑任何所需的第三方库,并可与绝大多数常见的库和框架配合使用。

PyInstaller 3.3 中最大的改进是对 Python 3.6 的支持,因为鉴于 Python 3.6 已经发布这确实是必要的

PyInstaller 3.3 还包括一个更广泛兼容的引导加载程序,适用于 Windows 可执行文件,并扩展了对捆绑常见库(如 QT、GTK +、NumPy 和 Django )的支持。

PyInstaller 在不久之后可能添加的一个功能是交叉打包,例如,在 Windows 上创建 Mac 兼容的应用程序。你需要在要部署的同一平台上运行该 PyInstaller ,无论是 Windows、Mac 还是 Linux 。

何处下载 PyInstaller 3.3 ?

PyInstaller 可以通过 Python Package Index 安装,也可通过 Python 的 pip 工具安装:pip install pyinstaller 。对于那些需要自己编译引导加载程序的人,源码可以在 GitHub 上找到,但对多数人而言是不需要这么做的。

04 Python必备之Python Build Reasonableness

Python PBR 主要用于何处?

Setuptools 是用于打包 Python 项目的标准的 Python 问题子系统。管理特定项目的 Setuptools 可能会变得非常繁琐,特别是在自动生成需求、管理文档文件或编辑项目贡献者数据时。

Python PBR 的功能PBR, Python Build Reasonableness 的缩写,是以一致的方式用于管理 Setuptools 包的库。它可以自动化许多 Setuptools 打包的设置,例如版本号、生成作者和 ChangeLog 文件,以及生成 Sphinx 风格的文档。PBR 最初是作为 OpenStack 项目的一部分开发的,但现在你所使用 PBR 中维护的内容与 OpenStack 已经没有任何联系了。

哪里可以下载 Python PBR ?

PBR 在 Python Package Index 上可以找到,并且可以和 pip 一起安装,只需要输入 pip install pbr 即可。 源码可在 GitHub 上下载。

05 Python 必备之 WxPython

WxPython 主要用于何处?想要实现跨平台桌面应用程序的 Python 开发人员可以从多个工具包中进行选择。 WxPython,是 WxWidgets 库的一个封装,使用了其所支持主机平台的原生 UI 元素,包括 Windows、Mac、Linux 和其他类 Unix 操作系统。

WxPython 4.0 的功能早期版本的 WxPython 被放弃了是由于其传统的设计决策,使其变得越来越慢,而且不太适合使用。为了解决这个问题,WxPython 的开发人员对 WxPython 的 4.0 分支做了重大改变。

目标是允许开发人员更快地上手 WxPython ,并且使通过它创建的框架和应用程序更加高性能和易维护。然而,为了使用 WxPython 4.0 ,任何现有的使用 WxPython 项目都需要修改。

何处可以下载 WxPython 4.0 ?WxPython 4.0 官方版本依然是 beta 版。它可以在 Python Package Index 上找到,即通过 pip install wxpython 命令。在正式发布前它可能会更新数次,注意经常检查更新。

那些想直接破解的人可以查看 GitHub 上的代码库。请注意,WxPython 的 4.0 分支以 “Phoenix” 代号进行标记的,以使其与早期版本不同。

06 Python 必备之 Mypy

Mypy 主要用于何处?Python 的动态性既是一种福音,也是一种烦恼,对于快速构建软件非常棒,但是当代码难以推理、测试和调试时,并不是很棒。Mypy 在编译时向 Python 添加静态类型检查,使 Python 程序更加一致和可维护,并且不会增加运行时开销。

Mypy 0.530 的功能Mypy 0.530 添加了不同协议的支持,该协议是用于 Python 子类的目前实验性类型的功能。它还在仅用于包含特定类型的对象的字典中添加 “TypedDict” 类型,并且可以逐个对文件进行更严格的类型检查的选项。

原文发布于微信公众号 - BestSDK(bestsdk)

原文发表时间:2017-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏鸿的学习笔记

DBDB: 一个简单的key/value数据库(一)

导论 DBDB(Dog Bed Database)是基于Python实现的key/value数据库。 它将key值与value值关联,并将该关联存储在磁盘上方便...

1193
来自专栏along的开发之旅

Android逆向分析概述

学习逆向的初衷是想系统学习Android下的hook技术和工具, 想系统学习Android的hook技术和工具是因为Android移动性能实战这本书. 这本书里...

1833
来自专栏小詹同学

Python | 开发者必备的 6 个库

链接:https://www.oschina.net/translate/6-essential-libraries-for-every-python-deve...

4223
来自专栏北京马哥教育

Python 开发者的 6 个必备库

https://www.oschina.net/translate/6-essential-libraries-for-every-python-develop...

2017
来自专栏吴伟祥

Confluence WIKI 安装、破解及添加汉化包(Windows)

###Atlassian Confluence(简称Confluence)是一个专业的wiki程序。它是一个知识管理的工具,通过它可以实现团队成员之间的协作和知...

3412
来自专栏云计算

JClouds的命令行界面

我已经使用jclouds一年多了,也一直为它的进步做贡献。目前为止,我已经在很多领域广泛地使用它,特别是在 Fuse Ecosystem 。总之,它是一个特别棒...

2597
来自专栏Linyb极客之路

Redis开发常用规范

虽然Redis支持持久化,但是Redis的数据存储全部都是在内存中的,成本昂贵。建议根据业务只将高频热数据存储到Redis中【QPS大于5000】,对于低频冷数...

1652
来自专栏北京马哥教育

Python 开发者的 6 个必备库

来自:开源中国 协作翻译 链接: https://www.oschina.net/translate/6-essential-libraries-for-e...

4827
来自专栏黑白安全

PHP代码审计入门之路

虽然市面上的代码审计的文章已经一大把了,但是还是决定重复造轮子,打算作为一个系列来写的,近年越来越多的安全研究人员投入到php应用的漏洞挖掘,相对应的代码安全问...

1062
来自专栏芋道源码1024

从客户端的角度设计后端的接口

2.请求Path,http://www.online.com/api/ [path]

1833

扫码关注云+社区

领取腾讯云代金券