Python | 开发者必备的 6 个库

简介: 无论你是正在使用 Python 进行快速开发,还是在为 Python 桌面应用制作原生 UI ,或者是在优化现有的 Python 代码,以下这些 Python 项目都是应该使用的。 Python 凭借其易用的特点,已经被工业界和学术界广泛采用。

无论你是正在使用 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)检出源码。



原文发布时间为:2018-09-11
原文作者: 上海小胖
本文来自云栖社区合作伙伴“ Python专栏   ”,了解相关信息可以关注“ Python专栏   ”。

相关文章
|
3月前
|
安全 API 开发者
惊!Python开发者必看:OAuth与JWT授权机制的惊天秘密😱
【8月更文挑战第4天】在现代软件开发中,尤其在Web和移动应用领域,用户认证与授权至关重要。对Python开发者来说,OAuth与JWT是两大利器,能显著提高应用的安全性并优化用户体验。OAuth通过“授权而非认证”的理念,安全地让用户授予第三方应用访问权限;JWT则是一种自包含的令牌格式,确保信息的安全传输。二者结合使用,可以构建坚固的认证体系。掌握这些核心技术,让您的应用更安全、更高效。
38 1
|
1月前
|
前端开发 API 开发者
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
深度剖析:AJAX、Fetch API如何成为Python后端开发者的最佳拍档!
39 4
|
2月前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
110 6
|
2月前
|
安全 数据安全/隐私保护 开发者
重塑信任:Python开发者如何利用OAuth与JWT,打造安全无虞的授权机制
【9月更文挑战第7天】随着Web应用的复杂度增加,用户数据保护变得至关重要。本文通过问答形式,探讨Python开发者如何利用OAuth和JWT构建高效且安全的授权机制。OAuth让第三方应用能在不获取用户凭据的情况下访问特定服务,保护用户隐私;JWT则通过安全令牌实现身份验证。结合二者,开发者能打造符合现代安全标准的授权体系,提升系统安全性和灵活性。 示例代码展示了如何使用`requests-oauthlib`简化OAuth流程,并用`PyJWT`生成及验证JWT。这种组合不仅加强了安全性,还优化了用户体验。
55 1
|
4月前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
95 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
2月前
|
JSON 安全 API
Python开发者必看:OAuth与JWT授权机制的惊天秘密😱
【9月更文挑战第9天】在现代软件开发中,尤其在Web和移动应用领域,用户认证与授权至关重要。对Python开发者而言,OAuth和JWT是提升应用安全性与用户体验的关键技术。OAuth通过“授权而不认证”的理念保障用户数据安全,JWT则利用JSON Web Tokens实现无缝的信息传递。两者结合可构建高效且安全的认证体系。掌握这些技术,将使你的应用更加出色。
23 0
|
3月前
|
安全 数据安全/隐私保护 开发者
重塑信任:Python开发者如何利用OAuth与JWT,打造安全无虞的授权机制
【8月更文挑战第6天】随着Web应用复杂度提升,用户数据保护成为关键。OAuth与JWT是Python开发者构建高效安全授权机制的两大利器。OAuth让第三方应用能访问特定服务上的私有资源而不暴露用户凭据;JWT则是安全传输信息的标准,常与OAuth结合使用以验证用户身份和权限。通过requests-oauthlib和PyJWT库,开发者能轻松实现OAuth流程与JWT的生成验证,从而打造既安全又用户体验友好的授权系统。
46 8
|
3月前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
79 0
|
3月前
|
JSON API 数据库
探索FastAPI:不仅仅是一个Python Web框架,更是助力开发者高效构建现代化RESTful API服务的神器——从环境搭建到CRUD应用实战全面解析
【8月更文挑战第31天】FastAPI 是一个基于 Python 3.6+ 类型提示标准的现代 Web 框架,以其高性能、易用性和现代化设计而备受青睐。本文通过示例介绍了 FastAPI 的优势及其在构建高效 Web 应用中的强大功能。首先,通过安装 FastAPI 和 Uvicorn 并创建简单的“Hello, World!”应用入门;接着展示了如何处理路径参数和查询参数,并利用类型提示进行数据验证和转换。
112 0
|
3月前
|
JSON 数据库 开发者
FastAPI入门指南:Python开发者必看——从零基础到精通,掌握FastAPI的全栈式Web开发流程,解锁高效编码的秘密!
【8月更文挑战第31天】在当今的Web开发领域,FastAPI迅速成为开发者的热门选择。本指南带领Python开发者快速入门FastAPI,涵盖环境搭建、基础代码、路径参数、请求体处理、数据库操作及异常处理等内容,帮助你轻松掌握这一高效Web框架。通过实践操作,你将学会构建高性能的Web应用,并为后续复杂项目打下坚实基础。
116 0
下一篇
无影云桌面