专栏名称: 马哥Linux运维
马哥linux致力于linux运维培训,连续多年排名第一,订阅者可免费获得学习机会和相关Linux独家实战资料!
目录
相关文章推荐
运维  ·  再见,CDN 巨头:Akamai 宣布 ... ·  3 天前  
51好读  ›  专栏  ›  马哥Linux运维

Python 开发者的 6 个必备库

马哥Linux运维  · 公众号  · 运维  · 2018-09-03 18:00

正文


来自:开源中国 协作翻译

链接:

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

原文 :6 essential libraries for every Python developer

原文链接: https://www.infoworld.com/article/3230202/python/6-essential-libraries-for-every-python-developer.html

译者 :Tocy, BruceLinxu, 暗杠


无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的。


Python 凭借其易用的特点,已经被工业界和学术界广泛采用。另一方面,Python 丰富的第三方项目——库、附加组件,和辅助的开发成果——使得 Python 语言的应用范围被不断扩大。


其中一些项目,比如 PyInstaller 和 WxPython ,为那些制作桌面应用和终端应用的 Python 开发者提供了便利。


其他的项目, 比如 PyPy , 则是用来给服务器端 Python 应用提供额外的动力。还有一些,像  PBR 、CFFI 和 MyPy , 适用于差不多所有五花八门的 Python 应用,无论在什么地方运行。


如果你是一个 Python 开发者,所有这六个项目都值得你来熟悉一下。而且所有这些项目,在近几周都发布了新的主要版本。


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 的网站下载二进制版本: https://pypy.org/download.html 官方二进制文件包括 Windows、Mac OS 和 Linux 的不同 CPU 架构。


请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。


BitBucket 上有源代码和错误跟踪记录: https://bitbucket.org/pypy/pypy


Python 必备之 CFFI


CFFI 主要用于何处?

C 外部函数接口库(CFFI)( https://cffi.readthedocs.io/ )为 Python 应用程序与独立 C 库的交互提供了一种机制。


虽然 Python 的 stock 版本,CPython,也拥有自己的库来完成此类功能,称为 Ctypes ,但对 Python 用户来说,比起 Ctypes ,CFFI 使得与 C 库的交互更容易、更简便。


CFFI 1.11 的功能

与 PyPy 一起更新的 CFFI v1.11 ( https://cffi.readthedocs.io/en/latest/whatsnew.html#v1-11 )增加了很小但很有用的改动。


现在可以在即将发布的 Python 3.7 上使用betas了,在 Windows 上更好地支持外部错误处理,并支持 C 语言中更多的现代标准类型,例如 float/double _Complex 和 char16_t和char_32t 类型。最后两个也是最重要的,在 C 库中默认使用 Unicode 编码。


何处下载 CFFI 1.11 ?

CFFI 在 Python Package Index 上可以单独下载:https://pypi.python.org/pypi/cffi


或通过 Python 的 pip 工具安装:pip install cffi 。源码和问题跟踪可以在 BitBucket(https://bitbucket.org/cffi/cffi) 上找到。


Python 必备之 PyInstaller


PyInstaller 主要用于何处?

关于 Python 的最常见的问题之一是“如何从 Python 脚本中生成独立的可执行文件?” PyInstaller ( https://github.com/pyinstaller/pyinstaller )一直是对此最好的答案之一。


PyInstaller 3.3 的功能

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


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


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


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


何处下载 PyInstaller 3.3 ?

PyInstaller 可以通过 Python Package Index 安装: https://pypi.python.org/pypi/PyInstaller/3.3


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


Python 必备之 Python Build Reasonableness (PBR)


Python PBR 主要用于何处?

Setuptools 是用于打包 Python 项目的标准的 Python 问题子系统。


管理特定项目的 Setuptools 可能会变得非常繁琐,特别是在自动生成需求、管理文档文件或编辑项目贡献者数据时。


Python PBR 的功能

PBR( https://docs.openstack.org/pbr/latest/ ), Python Build Reasonableness 的缩写,是以一致的方式用于管理 Setuptools 包的库。


它可以自动化许多 Setuptools 打包的设置,例如版本号、生成作者和 ChangeLog 文件,以及生成 Sphinx 风格的文档。


PBR 最初是作为 OpenStack 项目的一部分开发的,但现在你所使用 PBR 中维护的内容与 OpenStack 已经没有任何联系了。


哪里可以下载 Python PBR ?

PBR 在 Python Package Index 上可以找到:

https://pypi.python.org/pypi/pbr 并且可以和 pip 一起安装,只需要输入 pip install pbr 即可。 源码可在 GitHub ( https://github.com/openstack-dev/pbr )上下载。


Python 必备之 WxPython


WxPython 主要用于何处?

想要实现跨平台桌面应用程序的 Python 开发人员可以从多个工具包中进行选择。


WxPython( https://wxpython.org/ ),是 WxWidgets( https://www.wxwidgets.org/ ) 库的一个封装,使用了其所支持主机平台的原生 UI 元素,包括 Windows、Mac、Linux 和其他类 Unix 操作系统。


WxPython 4.0 的功能

早期版本的 WxPython 被放弃了是由于其传统的设计决策,使其变得越来越慢,而且不太适合使用。







请到「今天看啥」查看全文