一篇博客带你领略学习Python的第三方库---如何获取和安装第三方库,关于三种常见第三方库的下载和讲解(pyinstall库,jieba库,wordcloud库),更多第三方库的分类介绍

简介: 一篇博客带你领略学习Python的第三方库---如何获取和安装第三方库,关于三种常见第三方库的下载和讲解(pyinstall库,jieba库,wordcloud库),更多第三方库的分类介绍

引言

考试和比赛倒逼输入这话不假,计算机二级你别说它水,说其作用还真不小,硬是逼着我将python学下去了,假期也成功过掉了C++。今天想带大家来了解一下关于python第三方库的获取和安装,三种常见第三方库的下载和讲解(pyinstall库,jieba库,wordcloud库),以及更多第三方库的分类介绍。第三方库是python必不可少的一部分,关于python各种方向的学习和开发也少不了对第三方库的理解和使用。话不多说,开始我们今天的内容吧。

python中如何获取和安装第三方库

在获取安装python之前,你需要确定你的电脑上已经配置好了python的环境。在电脑的搜索中有这个IDLE就ok。

现在进入下载三方库过程

搜索cmd打开命令提示符

这时候就直接输入指令:

pip3 install 库名(下面下载的库的库名为pyinstaller)

就可以下载了:

这时候就已经成功下好了。

如果你不相信,可以使用列表指令查看

pip list

输入上述指令后回车

当列表中已经有pyinstaller时,就说明你的确成功下载了。

关于更多的指令操作,你可以通过指令:

pip -h

来查看。

pyinstall库

Pyinstall是一个十分有用的第三方库,它能够在windows,linux,Mac OS X等操作系统下将python源文件打包,变成直接可以运行的可执行文件通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立的文件方便传递和管理。

安装指令:

pip3 install pyinstaller

我们在平时运行代码时,都需要以编译环境为基础,当你想想将自己的分享给别人,但别人的电脑上没有安装相关编译器或者解释器,就无法运行你的代码。这时我们运用三方库pyinstaller库对写好的python代码进行打包,变成直接可执行的.exe文件,这样在别人的电脑上就可以无需配置环境直接运行代码了。

接下来详细介绍一下此过程:

1.首选我们先拿一份已经写好的代码放到一个桌面的文件夹中,此代码的内容是画一个小猪佩奇。

2.打包之前在cmd命令提示符中找到存放文件的路径

找到需要操作的文件,转到其存在的路径下:

cd 文件路径

查看当前路径下文件的指令:

dir

当文件存在时,就可以开始打包,这里有三种常用的打包方式

1.直接打包

直接输入指令+回车

pyinstaller PeppaPig.py

我们这时打开文件夹 :

会发现已经多了一些东西

这时候打开dist目录

发现还有一个目录,再次打开

这里已经有exe文件了,这时候双击exe文件打开,一个小猪佩奇就会开始画了

但是你可能会发现一个问题,就是生成exe文件的过程中生成了很多其他不需要展示出来的文件,这时候可以使用第二种打包方式。

2.打包-纯净版

输入指令时多加一个-F

pyinstaller -F PeppaPig.py

这里生成的文件还是一样多,但是如果你现在打开dist,会发现里面只有一个exe文件

这个exe文件就可以直接发给好友让好友运行了,如果你嫌弃图标不好看,可以通过以下方式生成更改图标。

3.打包-纯净版-改图标

首先找一张图片放到当前文件夹中

这里需要注意的是,图标所需要的图片格式为.icon,大家可以自行转换一下

现在进行打包,输入命令提示符(cmd)中输入指令

pyinstaller -F -i pig.ico(图片名) PeppaPig.py(需要打包的文件名)

这时候再打开dist,就会发现exe文件的图标已经被更改成我们想要的样子了

现在点开看看运行吧

以上就是pyinstaller的基本用法了

关于pyinstaller的一些常用参数:

参数 功能
-h,-help 查看帮助
--clean 清理打包过程中的临时文件
-D,--onedir 在dist文件夹中只生成独立的的打包文件
-F,--onefile 在dist文件夹中只生成独立的打包文件
-i <文件图标名> 指定打包程序使用的图标(icon)文件

jieba库

由于中文文本中的每个词不是通过空格或者标点符号分隔,中文类似语言存在一个重要的“分词”问题。而jieba(真的叫结巴库)是python中一个重要的的三方中文分词库。

jieba库的分词原理是利用一个中文词库,将待分词的内容与分词词库进行对比,通过图结构和动态规划方法找到最大概率的词组。除了分词jieba还提供怎加自定义中文单词的功能。

安装jieba库:

pip3 install jieba

jieba库支持三种分词模式

  1. 精确模式:将句子精确地切开,适合文本分析。
  2. 全模式:把句子中可以成词的词语都扫描出来,但是不能解决歧义,冗余性高。
  3. 搜索引擎模式:在精确模式的基础上,对常词再次切分,提高召回率,适用于搜索引擎分词。

1. 精确模式:jieba.lcut(s)

jieba.lcut(s)是最常用的中文分词函数,用于精确模式,即将字符串分隔成的量的中文词组,以列表的形式返回。

import jieba
txt = "python是一种跨平台的计算机编程语言,具有着解释性,变异性,交互性和面向对向的特点。"
la = jieba.lcut(txt)
print(la)

以下是输出结果:

2. 全模式:jieba.lcut(s, cut_all = True)

jieba.lcut(s, cut_all = True)用于全模式,即将字符串的所有分词可能全部列出,返回结果是列表类型,冗余性较大。

import jieba
txt = "python是一种跨平台的计算机编程语言,具有着解释性,变异性,交互性和面向对向的特点。"
la = jieba.lcut(txt, cut_all = True)
print(la)

3. 搜索引擎模式:jieba.lcut_for_search(s)

jieba.lcut_for_search(s)也是返回一个列表,该模式首先执行精确模式,然后对长词进一步拆分获得最终结果。

import jieba
txt = "python是一种跨平台的计算机编程语言,具有着解释性,变异性,交互性和面向对向的特点。"
la = jieba.lcut_for_search(txt)
print(la)

从三个模式所展现出来的功能来看,搜索引擎模式比精确模式精确些(在这里体现似乎并不是很大,但确实有这样的区别),但是相比于全模式的分词又粗略一些。

4. 添加词:jieba.add_word(s)

在互联网普及的时代,网路上远远不断的会涌现出新的词,jieba库中可能又没有,就会造成分词错误的问题,这时候。我们可以用jieba.add_word(s)函数给库中添加新的词语,以保证切词的正确性。

import jieba
txt = '好好学习,加油,奥里给'
la = jieba.lcut(txt)
print(la)

在这里的运行中,jieba库并不知道怎样将奥利给分出来,我们来手动加上。

import jieba
txt = '好好学习,加油,奥里给'
la = jieba.lcut(txt)
print(la)
jieba.add_word("奥里给")
lb = jieba.lcut(txt)
print(lb)

wordcloud库

wordcloud库是专门用于根据文本生成词云的python第三方库,很有趣。

安装:

pip3 install wordcloud

wordcloud库的使用非常简单,以一个字符串为例。其中,产生词云只需要一行语句:

txt = wordcloud.WordCloud().generate(txt)

并可以将词语保存为图片。

下面展示一下其使用:

import wordcloud
txt = 'i like python i am learing python'
wd = wordcloud.WordCloud().generate(txt)
# 下面是生成的词云保存路径
wd.to_file('C:\Users\Desktop')

在运行完上述代码之后,就会在你给的路径之下生成一个图片文件。

打开后就是已经生成好的词云了。

如果你用汉字生成词云,可能会出现图片生成一堆啥都看不见的玩意,那是因为wordcloud没有内置汉字,所以如果你要生成汉字,就需要更多的了解WordCloud函数的参数,下载中文字体,才可以成功的生成汉字词云。

WordCloud对象创建的常用参数

这部分内容在这里就不深入细讲了,具体细节大家可以参考python官方文档。

关于更多的第三方库

1.用户图形界面

Python标准库内置了一个GU库-tkinter,这个库基于Tck/Tk开发, 然而,这个库十分陈旧,提供的开发控件也很有限,编写出来的GUI风格与现代程序GUI风格相甚远,从用户体验角度说,tkinter库并不成熟。

这里介绍2个高质量的用户图形界面Python生态库:pyqt5、wxpython。

pyqt5:

pyqt5是Qt5应用框架的Python第三方库,它有超过620个类和近6000个函数和方法。它是Python中最为成熟的商业级GUI第三方库。这个库是Python语言当前最好的GUI第三方库,它可以在Windows、 Linux和Mac oS x等操作系统上跨平台使用。

WxPython:

wxPython是Python语言的一套优秀的GU图形库,它是跨平台GU库wxWidgets的Python封装,可以使Python程序员能够轻松地创建健壮可靠、功能强大的图形用户界面的程序。

2.文本处理

pdfminer:

pdfiminer是一个可以从PDF文档中提取各类信息的第三方库。与其他PDF 相关的工具不同,它能够完全获取并分析PDF的文本数据。pdfminer能够获取PDF中文本的准确位置、字体、行数等信息,能够将PDF文件转换为HTML及文本格式。

openpyxl:

openpyx是一个处理Microsoft Excel文档的Python第三方库,它支持读写Excel的xls、xlsx,xlsm,xltx、xltm等格式文件,并进一步能处理Excel文件中excelI作表、表单和数据单元。

python-docx:

python-docx是一个处理Microsoft Word文档的Python第三方库,它支持读取、 查询以及修改doc、docx等格式文件,并能够对Word常见样式进行编程设置, 包括:字符样式、段落样式、表格样式等,进一步以使用这个库实现添加和修改文本、图像、样式和文档等功能。

beautifulsoup4:

beautifulsoup4库,也称为Beautiful Soup库或bs4库,用于解析和处理HTML 和XML。需要注意,它不是BeautifulSoup库。它的最大优点是能根据HTML 和XML语法建立解析树,进而高效解析其中的内容。

3.数据分析

numpy:

numpy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组(ndarray),简称“数组”。这个库可用来存储和处理大型矩阵,比Python语言提供的列表结构要高效的多。numpy提供了许多高级的数值编程工具,如:矩阵运算、矢量处理、N维数据变换等。

scipy: scipy是一款方便、易于使用、专为科学和工程设计的Python工具包。在numpy 库的基础上增加了众多的数学、科学以及工程计算中常用的库函数。它包括统计、优化、整合、线性代数、傅里叶变换、信号分析、图像处理、常微分方程求解等众多模块。

pandas:

pandas是基于numpy扩展的一个重要第三方库,它是为了解决数据分析任务而创建的。Pandas提供了一批标准的数据模型和大量快速便捷处理数据的函数和方法,提供了高效地操作大型数据集所需的工具。

4.网络爬虫

requests:

requests库是一个简洁且简单的处理HTTP请求的第三方库,它的最大优点是程序编写过程更接近正常URL访问过程。这个库建立在Python语言的urlib3库基础上。request库支持非常丰富的链接访问功能。

scrapy:

scrapy是Python开发的一个快速的、高层次的Web获取框架。不同于简单的网络爬虫功能,scrapy框架本身包含了成熟网络爬虫系统所应该具有的部分共用功能, scrapy用途广泛,可以应用于专业爬虫系统的构建、数据挖掘、网络监控和自动化测试等领域。

5.机器学习

Scikit-learn:

Scikit-learn是一个简单且高效的数据挖掘和数据分析工具,它基于NumPy SciPy和matplotlib构建。Scikitlearn的基本功能主要包括6个部分:分类, 回归,聚类,数据降维,模型选择和数据预处理。Scikit-learn也被称为sklearn,

Tensorflow:

TensorFlow是谷歌公司基于DistBelief研发的第二代人工智能学习系统, 也是用来支撑著名的AlphaGo系统的后台框架。Tensor(张量)指N维数组, Flow(流)指基于数据流图的计算,TensorFlow描述张量从流图的一端流动到另一端的计算过程。

6.Web开发

Flask:

Flask是轻量级Web应用框架,相比Django和Pyramid,它也被称为微框架。使用Flask开发Web应用十分方便,甚至几行代码即可建立一个小型网站。Flask核心十分简单,并不直接包含诸如数据库访问等的抽象访问层,而是通过扩展模块形式来支持。

Django:

Django是Python生态中最流行的开源Web应用框架。Django采用模型、模板和视图的编写模式,称为MTV模式。Django中提供了开发网站经常用到的模块, Django的开发理念是DRY(Don't Repeat Yourself),用于鼓励快速开发,进而减少程序员可以建立一个高性能Web应用所花费的时间和精力,形成一种一站式解决方案。

7.游戏开发

Pygame:

Pygame是在SDL库基础上进行封装的、面向游戏开发入门的Python第三方库, 除了制作游戏外,还用于制作多媒体应用程序。其中,SD(Simple DirectMedia Layer)是开源、跨平台的多媒体开发库,通过OpenGL和Direct3D底层函数提供对音频、键盘、鼠标和图形硬件的简洁访问。 Panda3D:

Panda3D是一个开源、跨平台的3D渲染和游戏开发库,简单说,它是一个3D游戏引擎,由迪士尼和卡耐基梅隆大学娱乐技术中心共同进行开发。 Panda3D支持Python和C++两种语言,但对Python支持更全面。

Cocos2d:

cocos2d是一个构建2D游戏和图形界面交互式应用的框架,它包括C++、 JavaScript, Swift, Python等多个版本。cocos2d基于OpenGL进行图形渲染, 能够利用GPU进行加速。cocos2d引擎采用树形结构来管理游戏对象,一个游戏划分为不同场景,一个场景又分为不同层,每个层处理并响应用户事件。

8.数据可视化

matplotib:

matplotlib是提供数据绘图功能的第三方库,主要进行二维图表数据展示,广泛用于科学计算的数据可视化。使用这个库可以利用Python程序绘制超过100种数据可视化效果。

TVTK:

TVTK库在标准的VTK库之上用Traits库进行封装的Python第三方库。视觉工具函数库(VTK)是一个开源、跨平台、支持平行处理的图形应用函数库,它是专业可编程的三维可视化工具。TVTK在Python生态系统中被等同于VTK.

9.更多第三方库

Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域。 即使在个方向,也会有大量的专业人员开发多个第三方库来绘出具体设计。所以想要将所有的库学完基本上是不可能的,除了我上面介绍的经典库之外,还用更多有趣有意思的库等着被发现。

如,PIL:图像处理第三方库;NKTK:自然语言处理第三方库;WeRoBot:微信公众号开发框架;Sympy:支持符号运算的第三方库;MyQR:可以产生普通的,艺术的,甚至是动态效果的二维码的库。

结语

本篇博客讲了关于python第三方库的获取和安装,三种常见第三方库的安装和应用(pyinstall库,jieba库,wordcloud库),以及更多第三方库的分类介绍。通过本篇博客,相信屏幕前的你一定对python的第三方库有了更多的了解。写本篇博客的过程也让我渐渐体会到了python库的魅力以及库在python中的重要地位。几个python的库可能就是需要一个人潜心学习很久的技术领域,学好python,相信未来的路一定能越走越宽广。

 

相关文章
|
12天前
|
Python
Python办公自动化:xlwings对Excel进行分类汇总
Python办公自动化:xlwings对Excel进行分类汇总
39 1
|
1天前
|
Python
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
pip批量安装Python库 requirement.txt 离线环境无互联网环境下pip安装Python库
11 3
|
1天前
|
网络安全 开发工具 iOS开发
macOS 系统安装Python-nmap模块
macOS 系统安装Python-nmap模块
10 2
|
7天前
|
安全 Python
Python脚本实现IP按段分类
【10月更文挑战第04天】
16 7
|
2天前
|
数据采集 数据挖掘 大数据
【Python篇】详细学习 pandas 和 xlrd:从零开始
【Python篇】详细学习 pandas 和 xlrd:从零开始
12 2
|
2天前
|
存储 C语言 索引
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
本文全面介绍了Python的基础知识,包括Python的诞生背景、为什么学习Python、Python的应用场景、Python环境的安装、Python的基础语法、数据类型、控制流、函数以及数据容器的使用方法,旨在为Python零基础读者提供一篇全面掌握Python语法的博客。
8 0
Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法
|
2天前
|
存储 Python 容器
Python 对象有哪几种,我们可以从哪些角度进行分类呢?
Python 对象有哪几种,我们可以从哪些角度进行分类呢?
8 1
|
12天前
|
机器学习/深度学习 Linux 开发者
Python必备工具:pip的安装与管理
Python必备工具:pip的安装与管理
29 0
|
13天前
|
Python
7-14|salt之安装Python模块
7-14|salt之安装Python模块
|
13天前
|
Python
7-9|Python如何安装ruamel.yaml
7-9|Python如何安装ruamel.yaml