译者注:无论你是想快速入手python还是想为python应用程序构建本地ui,亦或者对python代码进行优化,本文列举的6个库,都有可能会帮到你。
由于具有易于使用的优势,python在各个行业和学科中都有着广泛的应用。也因此得到了大量第三方项目的支持–库、组件和开发套件,这些项目将python的应用领域不断的扩大。
其中的一些项目,如pyinstaller和wxpython,对于正在构建桌面和终端用户程序的python开发人员来说是值得借鉴的。其他的,比如pypy,用于优化服务器端的python应用程序。而其他一些应用,如pbr、cffi和mypy,对于开发所有类型的python应用程序都很有用。
项目一: pypy
什么是pypy?
如果想要更快的python应用程序,最简单方法就是使用pypy,带有实时(jit)编译器的python运行时。python应用程序使用pypy运行,平均速度是普通python应用程序的7.5倍。不幸的是,pypy在python的许多star框架中并不总是表现出色。pypy5.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下载地址
可以直接从其网站下载pypy的二进制文件。 官方二进制文件适用于不同cpu体系结构的windows,mac os和linux。 请注意,对于python 2.7和python 3.5兼容性,存在不同的二进制文件,因此需确保正在获取与将要运行的脚本匹配的版本。
bitbucket上提供源代码和错误跟踪。
项目二:cffi
什么是cffi?
the c foreign function interface library的简写,可称做:c外部函数接口库(cffi),为python应用程序与独立c库互操作提供了一种方式。虽然python的库版本cpython拥有自己的库,用于这种类型的工作,称为ctypes,但cffi使得与c ++的交互更容易,更简便,比ctypes更易于python用户使用。
cffi 1.11特点
与pypy一起更新的增加了一些小而有用的更改。现在可以使用betas来实现即将到来的python 3.7,更好地支持windows上的外部错误处理,并支持c中更多的现代标准类型,例如float / double _complex和char16_t和char_32t类型。对于在内部使用unicode的c库来说,最后两个是最重要的。
cffi 1.11 下载地址
cffi可以从python包索引中独立下载,也可以使用python的pip工具安装:pip install cffi。bitbucket上提供源代码和错误跟踪。
项目三:pyinstaller
什么是pyinstaller?
关于python的最常见的问题之一是“如何从python脚本生成独立的可执行文件”?pyinstaller一直是最好的答案之一。
pyinstaller 3.3特点
pyinstaller将python应用程序打包为单个目录或单个文件可执行文件中,将需要的第三方库与其一起打包,并与绝大多数公共库和框架配合使用。
pyinstaller 3.3中最大的改进是对python 3.6的支持,这是自python3.6以来所没有的。 pyinstaller 3.3还包括一个更广泛兼容的引导加载程序,适用于windows可执行文件,并扩展了绑定常见库(如qt,gtk +,numpy和django)的支持。
pyinstaller不久之后不太可能添加的一个功能是交叉打包,例如,在windows上创建mac兼容的应用程序。您需要在要部署的同一平台上运行pyinstaller,无论是windows,mac还是linux。
pyinstaller 3.3下载地址
pyinstaller可以从python包索引中安装,也可以使用python的pip工具安装:pip install pyinstaller。源代码在github上可用于那些想要自己编译引导程序的人,但大多数人不需要这样做。
项目四:python build reasonableness (pbr)
什么是 pbr?
setuptools是用于打包python项目的标准问题python子系统。管理给定项目的安装工具可能变得非常繁琐,特别是在自动生成需求,管理文档文件或编辑项目贡献者数据时。
python pbr特点
pbr是python build reasonableness的缩写,是一种以一致的方式管理setuptools打包的库。它可以自动化setuptools打包的许多方面,例如版本号,生成作者和变更文件,以及生成sphinx风格的文档。 pbr最初是作为openstack项目的一部分开发的,但是您使用pbr维护的内容不得以任何方式连接到openstack。
python pbr下载地址
pbr可用pip install pbr命令在python包索引安装。源代码在github上可查找。
项目五:wxpython
什么是wxpython?
对于想创建跨平台python应用程序的开发人员来说,有许多工具包可以选择。wxpython是wxwidgets库的封装器,它使用了支持主机平台的本地ui元素,包括windows,mac,linux和其他类unix操作系统。
wxpython 4.0特点
早期版本的wxpython被遗留的设计决策压得喘不过气,工作速度更慢,而且不太适合使用。为了解决这个问题,wxpython的开发人员对wxpython的4.0版本做了重大改变。
其目标是允许开发人员能够更快的开始使用wxpython,并且通过它创建的框架和应用程序具有更好的性能和易于维护。然而,任何现有的wxpython项目都需要修改为使用wxpython 4.0。
wxpython 4.0下载地址
wxpython 4.0仍处于测试阶段。它可以通过pip install wxpython的方式在python包索引中使用,但在正式发布之前可能会更新几次。经常检查更新。
那些想直接对其进行黑客攻击的用户可以查看github资料库。请注意,wxpython 4.0版本以“phoenix”代号进行标记,以使其与早期版本区别开来。
项目六:mypy
什么是mypy?
python的动态特性既是一种好处,也是一种麻烦–对于快速构建软件很好,但当代码难以推理,测试和调试时,缺点就显而易见。mypy在编译时向python添加静态类型检查,使python程序更加一致和可维护,但不会增加运行时开销。
mypy 0.530特点
mypy 0.530增加了对的支持,协议是用于python子类的当前实验类型的功能。 它还为仅用于包含特定类型的对象的目录添加“typeddict”类型,并且可以逐个对文件进行更严格的类型检查。
mypy 0.530下载地址
mypy可以在python包索引中使用,并且可以使用pip install mypy命令安装。有兴趣的可以在github上直接找到check out the code on github。
智能手机外观趋势:从华为P10、小米6、魅蓝E2衍生话题!
目前出现人工智能专业人才紧缺现状,人才培养体系出炉
Adam Taylor玩转MicroZed系列69:关于Zynq的约束简介
CPLD的串口通信设计
接在220V交流电的指示灯,串联多大的电阻都会烧?
Python应用与优化所必备的6个基本库
MAX1562, MAX1562H, MAX1563应用电路
蓄电池正确使用方法_蓄电池如何进行维护
安防监控对于智慧城市的发展有什么帮助
智能交通系统如何加入rfid技术
工信部出台PCB新规 将于2月1日起开始施行
智能网络必须针对任务关键型环境而发展
中芯国际与台积电的差距在哪
CES Asia首日:凯迪拉克超级智能驾驶系统上海发布,各大车企争奇斗艳!
台媒:联发科5G芯片打入三星供应链
受MLCC涨价影响,MOSFET芯片厂商也涨了
《自动化学报》—多Agent深度强化学习综述
Zhaoke(兆科)VGA矩阵常见故障及维护方法
具有ArduinoPro-Micro的MPU-9150 / 9250 IMU
泰科电子扩展ESD保护产品系列,推出业界最小的0201封装