无论你是正在使用 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 被放弃了是由于其传统的设计决策, 使其变得越来越慢, 而且不太适合使用.
为了解决这个问题, WxPython 的开发人员对 WxPython 的 4.0 分支做了重大改变.
目标是允许开发人员更快地上手 WxPython , 并且使通过它创建的框架和应用程序更加高性能和易维护. 然而, 为了使用 WxPython 4.0 , 任何现有的使用 WxPython 项目都需要修改(https://wxpython.org/Phoenix/docs/html/MigrationGuide.html).
哪里可以下载 WxPython 4.0 ?
WxPython 4.0 官方版本依然是 beta 版. 它可以在 Python Package Index 上找到: https://pypi.python.org/pypi/wxPython/4.0.0b2 即通过 pip install wxpython 命令. 在正式发布前它可能会更新数次, 注意经常检查更新.
那些想直接破解的人可以查看 GitHub 上的代码库(https://github.com/wxWidgets/Phoenix). 请注意, WxPython 的 4.0 分支以 "Phoenix" 代号进行标记的, 以使其与早期版本不同.
Python 必备之 Mypy
Mypy 主要用于何处?
Python 的动态性既是一种福音, 也是一种烦恼, 对于快速构建软件非常棒, 但是当代码难以推理, 测试和调试时, 并不是很棒.
Mypy(http://www.infoworld.com/cms/article/mypy-lang.blogspot.com) 在编译时向 Python 添加静态类型检查, 使 Python 程序更加一致和可维护, 并且不会增加运行时开销.
Mypy 0.530 的功能
Mypy 0.530 (http://mypy-lang.blogspot.com/2017/10/mypy-0530-released.html)添加了不同协议 (http://mypy.readthedocs.io/en/latest/class_basics.html#protocols-and-structural-subtyping) 的支持, 该协议是用于 Python 子类的目前实验性类型的功能.
它还在仅用于包含特定类型的对象的字典中添加 "TypedDict" 类型, 并且可以逐个对文件进行更严格的类型检查的选项.
哪里可以下载 Mypy 0.530 ?
Mypy 可以在 Python Package Index 上找到: https://pypi.python.org/pypi/mypy 并通过 pip install mypy 来安装. 那些对 Mypy 实现感兴趣的人可以通过 GitHub (https://github.com/python/mypy)检出源码.
来源: http://www.jianshu.com/p/a24e9946a276