热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python开发者必备的6个第三方库

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

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

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

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

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

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

学习Python中有不明白推荐加入

交流裙号:654234959 
群里有志同道合的小伙伴,互帮互助,
群里有免费的视频学习教程和PDF!

 

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)检出源码。


推荐阅读
  • 浙江大学2005–2006学年秋冬季学期《大学计算机基础》课程期末考试试卷开课学院:计算中心,考试形式:闭卷,允许带入场考试 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 在Android中解析Gson解析json数据是很方便快捷的,可以直接将json数据解析成java对象或者集合。使用Gson解析json成对象时,默认将json里对应字段的值解析到java对象里对应字段的属性里面。然而,当我们自己定义的java对象里的属性名与json里的字段名不一样时,我们可以使用@SerializedName注解来将对象里的属性跟json里字段对应值匹配起来。本文介绍了使用@SerializedName注解解析json数据的方法,并给出了具体的使用示例。 ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 前言:拿到一个案例,去分析:它该是做分类还是做回归,哪部分该做分类,哪部分该做回归,哪部分该做优化,它们的目标值分别是什么。再挑影响因素,哪些和分类有关的影响因素,哪些和回归有关的 ... [详细]
  • 电脑f5键是什么作用
    常见问题f5常见问题韩亚整形医院源码,vscode写前端代码,ubuntu低配,tomcat下载路径乱码,爬虫_gscu,php精粹pdf,广州快速seo优化排名,aspwap网站 ... [详细]
author-avatar
手机用户2602919547
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有