Python 开发者的 6 个必备库


无论你是正在使用 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 的网站下载二进制版本。官方二进制文件包括 Windows、Mac OS 和 Linux 的不同 CPU 架构。请注意,为了兼容 Python 2.7 和 Python 3.5 ,存在不同的二进制文件,因此请确保你正在获取与你将要运行的脚本所匹配的版本。


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


Python 必备之 CFFI


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


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


何处下载 CFFI 1.11 ?


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


Python 必备之 PyInstaller


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


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


Python PBR 主要用于何处?


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


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


哪里可以下载 Python PBR ?


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


Python 必备之 WxPython


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


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


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


何处可以下载 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” 类型,并且可以逐个对文件进行更严格的类型检查的选项。


 End 

来源:36大数据


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在注册表里计算机用户名,可以通过注册表修改电脑的密码 ?怎么做的?

可以通过注册表修改电脑的密码 ?怎么做的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!可以通过注册表修改电脑的密码 ?怎么做的?不用怎么麻烦的运行输入cmd在这里输入 user 用户名 密…

c++游戏代码大全_还在学少儿编程?不如来玩工厂编程师,免费学编程逻辑的小游戏...

40000游戏爱好者已加入我们!每天推荐好玩游戏!加入我们,沐沐带你发现好游戏!《工厂编程师》游戏小程序好玩吗?《工厂编程师》小游戏怎么玩?只有你想不到,没有我找不到的好游戏!「良心…

Istio 1.9 发布——重点改善 Istio 的 Day2 操作

本文译自 Istio 官方博客,原文地址:https://istio.io/latest/news/releases/1.9.x/announcing-1.9/Istio 1.9 版本的重点是改善用户在生产中运行 Istio 的 Day2 操作。在用户体验工作组收集到的反馈意见的基础上,我们希望改善用户的稳定性和整…

Windows漏洞利用开发——利用ROP绕过DEP保护

实验6 Windows漏洞利用开发 6.1实验名称 Windows漏洞利用开发 6.2实验目的 学习windows漏洞利用开发,使用kali linux相关工具对windows内目标程序进行漏洞利用 6.3实验步骤及内容 第三阶段:利用ROP绕过DEP保护 了解DEP保护理解构造ROP链从而绕过DEP…

python模拟ios_使用Xcode + Python进行IOS运动轨迹模拟!

前言在某些app中,需要根据用户的实时位置来完成某些事件例如跑步打卡软件(步道乐跑)、考勤打卡软件(叮叮)、某些基于实时位置的游戏(Pokemon Go、一起来捉妖)一般解决办法是通过使用安卓模拟器,通过改变模拟器的位置属性来实现模拟位置但是某些软件会通过…

C#读写文件总结

1、使用FileStream读写文件文件头:using System;using System.Collections.Generic;using System.Text;using System.IO;读文件核心代码:byte[] byData new byte[100];char[] charData new char[1000];try{FileStream sFile new FileStream("文件…

技术人必备的碎片化时间学习工具

工作、生活节奏超快的今天,想要不断提升自我,碎片化阅读学习是你最佳的选择,如果你有一颗学习的心,那这些学习型的公众号,绝对会让你受益匪浅。 小编为你精选了技术领域几个精品微信订阅号,涵盖了时下最热门…

python gui界面启动脚本、点击按钮执行脚本_如何使用PyQt在按钮单击上调用python脚本...

我使用PyQt4创建了一个带有按钮的表单.在此按钮上,我想调用另一个如下所示的python脚本: File1.py: import sys from PyQt4 import QtCore, QtGui from file1_ui import Ui_Form class MyForm(QtGui.QMainWindow): def __init__(self, parentNone): QtGu…

微型计算机键盘上的shift键 汉语译为,PC计算机键盘上的Shift键称为什么键

满意答案shuzhongle2014.02.25采纳率:56% 等级:12已帮助:7306人朋友,下面是我的答案,希望可以帮得到你!Shift键:上档转换键,也可用于中英文转换。当然Shift键并不仅仅只是这些作用,下面介绍下…

Dotnet中Span, Memory和ReadOnlySequence之浅见

过年啦,写个短点的。同时,提前给大家拜个年。总有小伙伴们跑过来讨论关于Span和Memory的使用,眼瞅是最近关于Span的文章有点多,看飞了。今天写这个,就是往回拉一拉。写之前,先声明一下。这些内容是我自己使…

睹物可否不思人

早上送女儿去兴趣班练舞蹈 顺便去超市买菜 因前阵生病的缘故 休息时都没有做饭 不知道买菜还会勾起我的痛楚 站在那里等着宰鱼 可视线被花甲吸引 注目良久 睹物思人 生活中的细细碎碎 都能令我浮想联翩 一句话 一处景 都能想起你的片段 回忆里有丝丝的甜 回忆里有阵阵的痛 突然…

华为的型号命名规则_华为最实惠5G手机来了!畅享Z 5G宣布:5月24日发

5月18日消息,华为宣布畅享系列首款5G手机畅享Z 5G将于5月24日发布。畅享Z系列的到来将使华为在千元市场实现5G覆盖,这也将成为华为价格最低的5G手机系列,值得期待。目前关于畅享Z的细节还很少,有消息称代号为Teller的5G新机隶属于…

程序员又背锅了!虾米音乐代码注释惊现“穷逼vip”

11 月 19 日,在 V2EX 社区的技术版一名网友发布了一篇名为《虾米 mac 客户端发现个好玩的注释》的帖子,文中贴出了阿里巴巴旗下虾米音乐 Mac 版客户端的代码,引发了网友争议。发帖人称,虾米音乐客户端的程序员竟然称一些短期VIP客…

python list转dict_python中将list转为dict

最近在项目中经常遇到将list转为dict形式,之前都只会用for循环,取出list中的每个值,update到dict中。 示例1 scrabble_scores [(1, "E A O I N R T L S U"), (2, "D G"), (3, "B C M P"), (4, "F H V W …

计算机无法安装小丸工具箱,小丸工具箱电脑版

小丸工具箱电脑版是一款可以压制H264AAC视频的图形界面工具,内核是x264、neroaac、mp4box等开源软件。小丸工具箱电脑版能够封装mp4或抽取mp4的音频或视频,压制视频中的音频。它的功能非常丰富,是属于实用的视频压制器!小丸工具箱&#xff0c…

一个简单的dotnet tool

dotnet tool对应的工具,本质上是一个控制台应用,在调用这个应用时,会根据传入的参数,执行应用内部的逻辑。关于dotnet tool命令使用,参照https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-tool-install下面…

内存和显存_【硬件资讯】显存再升级?Nvidia新卡实锤GDDR6X!显存大升级能否带来性能提升??...

新闻1:美光泄密 RTX 3090显卡用上GDDR6X显存:带宽堪比HBM2NVIDIA新一代显卡越来越近了,8月31日就有可能公布重大消息,安培GPU核心的RTX 30系列最快下个月就能买到。首发的第一波肯定是高端卡,除了RTX 3080、RTX 3080 T…

Web 2.0 编程思想:16条法则

原文:Thinking in Web 2.0: Sixteen Ways 作者:Dion Hinchcliffe URL:http://sd.csdn.net/n/20060518/90603.html 1、在你开始之前,先定一个简单的目标。无论你是一个Web 2.0应用的创建者还是用户,请清晰的构思你的目标。就像“我…

神舟笔记本电源管理软件_笔记本电脑长期不用充不上电了?原来问题就出在这儿...

也许有很多使用笔记本电脑的用户,都会遇到这样一种情况:笔记本电脑长期没有使用,导致电池充不了电的现象。遇到这样一种情况该如何进行解决呢?这确实有点难倒很多用户了,难道电池坏了,需要重新更换新的笔记…

浅析PageRank算法

机器学习很早就对Google的PageRank算法很感兴趣,但一直没有深究,只有个轮廓性的概念。前几天趁团队outing的机会,在动车上看了一些相关的资料(PS:在动车上看看书真是一种享受),趁热打铁&#xf…