close
当前位置: 物联网在线 > 技术文库 >

Python开发者必备6个基本库

 Python开发者必备6个基本库

原文:6 essential libraries for every Python developer 
作者:Serdar Yegulalp 
翻译:Peter

译者注:无论你是想快速入手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


(责任编辑:ioter)

用户喜欢...

盘点·GitHub最著名的20个Python机器学习项目

开源是技术创新和快速发展的核心。这篇文章向你展示Python机器学习开源项目以及在分析过程中发现的非常有趣的见解和趋势。 我们分析了GitHub上的前20名Python机器学习项目,发现scikit-Lear...


Python基础语法-常量与变量

Python是一门强类型的动态语言。 字面常量,变量没有类型,变量只是在特定的时间指向特定的对象而已,变量所指向的对象是有类型的。 变量:变量在赋值时被创建,它可以是任何对象的引...


机器学习:朴素贝叶斯--python

今天介绍机器学习中一种基于概率的常见的分类方法,朴素贝叶斯,之前介绍的KNN, decision tree 等方法是一种 hard decision,因为这些分类器的输出只有0 或者 1,朴素贝叶斯方法输出的是某一类...


机器学习:决策树--python

今天,我们介绍机器学习里比较常用的一种分类算法,决策树。决策树是对人类认知识别的一种模拟,给你一堆看似杂乱无章的数据,如何用尽可能少的特征,对这些数据进行有效的分类。...


python的位置参数、默认参数、关键字参数、可变参数区别

一、位置参数 调用函数时根据函数定义的参数位置来传递参数。 #!/usr/bin/env python # coding=utf-8 def print_hello(name, sex): sex_dict = {1: u'先生', 2: u'女士'} print 'hello %s %s, welcome to python world!' %(name, sex...


Python并行处理

原文:Parallel Processing in Python  作者:Frank Hofmann  翻译:Diwei 简介 当你在机器上启动某个程序时,它只是在自己的“bubble”里面运行,这个气泡的作用就是用来将同一时刻运行的所有程序进...


Python正则表达式的七个使用范例

作为一个概念而言,正则表达式对于Python来说并不是独有的。但是,Python中的正则表达式在实际使用过程中还是有一些细小的差别。 本文是一系列关于Python正则表达式文章的其中一部分。在...


Python的可视化工具概述

介绍 在Python世界中,有大量数据可视化的选项.因为各种各样,要知道什么时候使用哪个是非常困难的.本文包含一些较为流行的样例,并说明如果使用其创建简单的条形图.我会使用以下包/工具创...


7个步骤掌握使用python进行机器学习

有许多python机器学习资源在线免费提供,从哪开始?如何进行?从零到python机器学习大神只要7个步骤。 入门,在英语中最打击人的两个单词,第一部往往是最难的,当在这方面有太多选择,通常...


Python中NumPy简介及使用举例

NumPy是Python语言的一个扩展包。支持多维数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。NumPy提供了与Matlab相似的功能与操作方式,因为两者皆为直译语言。 NumPy通常与SciPy(S...