Python开发者必备6个基本库

原文:6 essential libraries for every Python developer
作者:Serdar Yegulalp
翻译:Peter

译者注:无论你是想快速入手Python还是想为Python应用程序构建本地UI,亦或者对Python代码进行优化,本文列举的6个库,都有可能会帮到你。



由于具有易于使用的优势,Python在各个行业和学科中都有着广泛的应用。也因此得到了大量第三方项目的支持–库、组件和开发套件,这些项目将Python的应用领域不断的扩大。

其中的一些项目,如PyInstaller和WxPython,对于正在构建桌面和终端用户程序的Python开发人员来说是值得借鉴的。其他的,比如PyPy,用于优化服务器端的Python应用程序。而其他一些应用,如PBR、CFfI和MyPy,对于开发所有类型的Python应用程序都很有用。

项目一: PyPy

什么是PyPy?

如果想要更快的Python应用程序,最简单方法就是使用PyPy,带有实时(JIT)编译器的Python运行时。Python应用程序使用PyPy运行,平均速度是普通Python应用程序的7.5倍。不幸的是,PyPy在Python的许多star框架中并不总是表现出色。PyPy5.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下载地址

可以直接从其网站下载PyPy的二进制文件。 官方二进制文件适用于不同CPU体系结构的Windows,Mac OS和Linux。 请注意,对于Python 2.7和Python 3.5兼容性,存在不同的二进制文件,因此需确保正在获取与将要运行的脚本匹配的版本。

BitBucket上提供源代码和错误跟踪

项目二:CFFI

什么是CFFI?

The C Foreign Function Interface library的简写,可称做:C外部函数接口库(CFFI),为Python应用程序与独立C库互操作提供了一种方式。虽然Python的库版本CPython拥有自己的库,用于这种类型的工作,称为Ctypes,但CFFI使得与C ++的交互更容易,更简便,比Ctypes更易于Python用户使用。

CFFI 1.11特点

与PyPy一起更新的CFFI v1.11增加了一些小而有用的更改。现在可以使用betas来实现即将到来的Python 3.7,更好地支持Windows上的外部错误处理,并支持C中更多的现代标准类型,例如float / double _Complex和char16_t和char_32t类型。对于在内部使用Unicode的C库来说,最后两个是最重要的。

CFFI 1.11 下载地址

CFFI可以从Python包索引中独立下载,也可以使用Python的pip工具安装:pip install cffi。 BitBucket上提供源代码和错误跟踪

项目三:PyInstaller

什么是PyInstaller?

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

PyInstaller 3.3特点

PyInstaller将Python应用程序打包为单个目录或单个文件可执行文件中,将需要的第三方库与其一起打包,并与绝大多数公共库和框架配合使用。

PyInstaller 3.3中最大的改进是对Python 3.6的支持,这是自Python3.6以来所没有的。 PyInstaller 3.3还包括一个更广泛兼容的引导加载程序,适用于Windows可执行文件,并扩展了绑定常见库(如QT,GTK +,NumPy和Django)的支持。

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

PyInstaller 3.3下载地址

PyInstaller可以从Python包索引中安装,也可以使用Python的pip工具安装:pip install pyinstaller。源代码在GitHub上可用于那些想要自己编译引导程序的人,但大多数人不需要这样做。

项目四:Python Build Reasonableness (PBR)

什么是 PBR?

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

Python PBR特点

PBR是Python Build Reasonableness的缩写,是一种以一致的方式管理Setuptools打包的库。它可以自动化Setuptools打包的许多方面,例如版本号,生成作者和变更文件,以及生成Sphinx风格的文档。 PBR最初是作为OpenStack项目的一部分开发的,但是您使用PBR维护的内容不得以任何方式连接到OpenStack。

Python PBR下载地址

PBR可用pip install pbr命令在Python包索引安装。源代码在GitHub上可查找

项目五:WxPython

什么是WxPython?

对于想创建跨平台Python应用程序的开发人员来说,有许多工具包可以选择。 WxPythonWxWidgets库的封装器,它使用了支持主机平台的本地UI元素,包括Windows,Mac,Linux和其他类Unix操作系统。

WxPython 4.0特点

早期版本的WxPython被遗留的设计决策压得喘不过气,工作速度更慢,而且不太适合使用。为了解决这个问题,WxPython的开发人员对WxPython的4.0版本做了重大改变。

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

WxPython 4.0下载地址

WxPython 4.0仍处于测试阶段。它可以通过pip install wxpython的方式在Python包索引中使用,但在正式发布之前可能会更新几次。经常检查更新。

那些想直接对其进行黑客攻击的用户可以查看GitHub资料库。请注意,WxPython 4.0版本以“Phoenix”代号进行标记,以使其与早期版本区别开来。

项目六:Mypy

什么是Mypy?

Python的动态特性既是一种好处,也是一种麻烦–对于快速构建软件很好,但当代码难以推理,测试和调试时,缺点就显而易见。 Mypy在编译时向Python添加静态类型检查,使Python程序更加一致和可维护,但不会增加运行时开销。

Mypy 0.530特点

Mypy 0.530增加了对协议的支持,协议是用于Python子类的当前实验类型的功能。 它还为仅用于包含特定类型的对象的目录添加“TypedDict”类型,并且可以逐个对文件进行更严格的类型检查。

Mypy 0.530下载地址

Mypy可以在Python包索引中使用,并且可以使用pip install mypy命令安装。有兴趣的可以在GitHub上直接找到 check out the code on GitHub

展开阅读全文

没有更多推荐了,返回首页