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应用程序的开发人员来说,有许多工具包可以选择。 WxPython是WxWidgets库的封装器,它使用了支持主机平台的本地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。
相关文章