当前位置:   article > 正文

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

第三方库

引言

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

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

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

ba50141e7d6e4f8295653d37b9a4e6d9.png

现在进入下载三方库过程

搜索cmd打开命令提示符

099b19147c75406097f02e5bdda47cb0.png

 50b995ac462b44c690acd0e06e08973e.png

这时候就直接输入指令:

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

就可以下载了:

7e3f5045781a462ebdb6418ff5fc9566.png

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

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

pip list

输入上述指令后回车

6a9fe73b24054c0ba09e82747f0c33a7.png

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

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

pip -h

来查看。

1e0134d3651e4209a252c21156f35cd8.png

 pyinstall库

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

安装指令:

pip3 install pyinstaller

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

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

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

d4ba208db9614f499666b1c92bf13c49.png

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

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

cd 文件路径

84dbdb5d6a2c4d68869c91d9a9cc41e7.png

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

dir

ffd5a0c4d1ae4b3da38683e64ca6756f.png

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

1.直接打包

直接输入指令+回车

pyinstaller PeppaPig.py

8e7322d2692a4888bcc982be7ebeb3c2.png

我们这时打开文件夹 :

b5b0e2731852485d949abcde2d4d7c1c.png

会发现已经多了一些东西 

这时候打开dist目录

0afbcdad5c0c41ec9e8e9539a1cd94e5.png

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

d8f07455bf15406786b669b86186771b.png

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

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

2.打包-纯净版

输入指令时多加一个-F

pyinstaller -F PeppaPig.py

1da8b8c73905481dba298a487bdcf26c.png

cce07fac3fb64f689da116e3c48a1d66.png

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

f290f08af2d94982872bfbeb7af9c843.png

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

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

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

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

d5a57f49602947fcaf03b1f0ac5572c7.png

904dd7ed04d34d70bc30c9d95319a7d6.png

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

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

bf09d5563f96401488501cec86c4aa3b.png

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

a2d76cc1518e453ab70ce02cc973c6f7.png

 现在点开看看运行吧

47885af94d124113af3712e16dc90ef0.png

 以上就是pyinstaller的基本用法了

关于pyinstaller的一些常用参数:

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

jieba库

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

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

安装jieba库:
pip3 install jieba

5e0901d1f0ea481f9001f258800f5fef.png

jieba库支持三种分词模式

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

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

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

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

 以下是输出结果:

d6068342e6c544acae1d1b4859b7d384.png

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

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

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

5edd59f502734e3bad4e4e32ad022734.png

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

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

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

517d463613c247ceb8d534553a3cf362.png

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

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

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

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

c056173ba345449387b1ffe8d33c2e32.png

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

  1. import jieba
  2. txt = '好好学习,加油,奥里给'
  3. la = jieba.lcut(txt)
  4. print(la)
  5. jieba.add_word("奥里给")
  6. lb = jieba.lcut(txt)
  7. print(lb)

855c0b7189ce4dc192cdf2b0d18fb66a.png

wordcloud库

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

安装:

pip3 install wordcloud

c3e504e20a154a82882225f8aad83b2d.png

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

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

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

下面展示一下其使用:

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

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

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

a41b22099e304dd48d7ccb7a81067ec6.png

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

WordCloud对象创建的常用参数

bdc071ff9e014f4d85b80dde3cefb2cd.png

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

关于更多的第三方库

5905311ce7254872bae96ca0c4336af9.png

 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,相信未来的路一定能越走越宽广。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/1010918
推荐阅读
相关标签
  

闽ICP备14008679号