Python开发者的6个必备库

简介:

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

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

其中一些项目,比如 PyInstaller 和 WxPython ,为那些制作桌面应用和终端应用的 Python 开发者提供了便利。其他的项目, 比如 PyPy , 则是用来给服务器端 Python 应用提供额外的动力。还有一些,像 PBR 、CFFI 和 MyPy , 适用于差不多所有五花八门的 Python 应用,无论在什么地方运行。

Python 开发者的 6 个必备库

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

一、Python 必备之 PyPy

1. PyPy 主要用于何处?

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

2. PyPy 5.9 的功能

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

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

3. 何处下载 PyPy 5.9

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

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

二、Python 必备之 CFFI

1. CFFI 主要用于何处?

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

2. CFFI 1.11 的功能

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

3. 何处下载 CFFI 1.11 ?

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

三、Python 必备之 PyInstaller

1. PyInstaller 主要用于何处?

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

2. 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 上找到,但对多数人而言是不需要这么做的。

四、Python 必备之 Python Build Reasonableness (PBR)

1. Python PBR 主要用于何处?

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

2. Python PBR 的功能

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

3. 哪里可以下载 Python PBR ?

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

五、Python 必备之 WxPython

1. WxPython 主要用于何处?

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

2. WxPython 4.0 的功能

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

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

3. 何处可以下载 WxPython 4.0 ?

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

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

六、Python 必备之 Mypy

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

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


本文作者:oschina

来源:51CTO

相关文章
|
JavaScript 前端开发 Java
通义灵码 Rules 库合集来了,覆盖Java、TypeScript、Python、Go、JavaScript 等
通义灵码新上的外挂 Project Rules 获得了开发者的一致好评:最小成本适配我的开发风格、相当把团队经验沉淀下来,是个很好功能……
2210 103
|
10月前
|
存储 人工智能 测试技术
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
本文介绍如何使用LangChain结合DeepSeek实现多轮对话,测开人员可借此自动生成测试用例,提升自动化测试效率。
2184 125
如何使用LangChain的Python库结合DeepSeek进行多轮次对话?
|
10月前
|
监控 数据可视化 数据挖掘
Python Rich库使用指南:打造更美观的命令行应用
Rich库是Python的终端美化利器,支持彩色文本、智能表格、动态进度条和语法高亮,大幅提升命令行应用的可视化效果与用户体验。
911 0
|
12月前
|
存储 Web App开发 前端开发
Python + Requests库爬取动态Ajax分页数据
Python + Requests库爬取动态Ajax分页数据
|
9月前
|
数据可视化 关系型数据库 MySQL
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
本文详解基于Python的电影TOP250数据可视化大屏开发全流程,涵盖爬虫、数据存储、分析及可视化。使用requests+BeautifulSoup爬取数据,pandas存入MySQL,pyecharts实现柱状图、饼图、词云图、散点图等多种图表,并通过Page组件拖拽布局组合成大屏,支持多种主题切换,附完整源码与视频讲解。
864 4
【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
|
9月前
|
传感器 运维 前端开发
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
本文解析异常(anomaly)与新颖性(novelty)检测的本质差异,结合distfit库演示基于概率密度拟合的单变量无监督异常检测方法,涵盖全局、上下文与集体离群值识别,助力构建高可解释性模型。
634 10
Python离群值检测实战:使用distfit库实现基于分布拟合的异常检测
|
11月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
685 18
|
JSON 网络安全 数据格式
Python网络请求库requests使用详述
总结来说,`requests`库非常适用于需要快速、简易、可靠进行HTTP请求的应用场景,它的简洁性让开发者避免繁琐的网络代码而专注于交互逻辑本身。通过上述方式,你可以利用 `requests`处理大部分常见的HTTP请求需求。
837 51
|
11月前
|
机器学习/深度学习 API 异构计算
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
JAX是Google开发的高性能数值计算库,旨在解决NumPy在现代计算需求下的局限性。它不仅兼容NumPy的API,还引入了自动微分、GPU/TPU加速和即时编译(JIT)等关键功能,显著提升了计算效率。JAX适用于机器学习、科学模拟等需要大规模计算和梯度优化的场景,为Python在高性能计算领域开辟了新路径。
1007 0
JAX快速上手:从NumPy到GPU加速的Python高性能计算库入门教程
|
11月前
|
数据采集 存储 Web App开发
Python爬虫库性能与选型实战指南:从需求到落地的全链路解析
本文深入解析Python爬虫库的性能与选型策略,涵盖需求分析、技术评估与实战案例,助你构建高效稳定的数据采集系统。
807 0

推荐镜像

更多