python第三方库概览

news2024/12/23 9:13:27

目录

第三方库的获取和安装

脚本程序转变为可执行程序的第三方库PyInstaller

jieba库(必选)、wordcloud库(可选)


知识导图:

1.Python第三方库的获取和安装 

Python第三方库依照安装方式灵活性和难易程度有三个方法:pip工具安装自定义安装文件安装

1.1 pip工具安装:

最常用且最高效的Python第三方库安装方式是采用pip工具安装。pip是Python官方提供并维护的在线第三方库安装工具。pip install <拟安装库名>,以pygame库安安装为例子:

 pip是Python第三方库最主要的安装方式,可以安装超过90%以上的第三方库。然而,还有一些第三方库无法暂时用pip安装,此时,需要其他的安装方法。pip工具与操作系统也有关系,在Mac OS X和Linux等操作系统中,pip工具几乎可以安装任何Python第三方库,在Windows操作系统中,有一些第三方库仍然需要用其他方式尝试安装。

1.2 自定义安装:

自定义安装指按照第三方库提供的步骤和方式安装。第三方库都有主页用于维护库的代码和文档。以科学计算用的numpy为例,开发者维护的官方主页是:http://www.numpy.org/,浏览该网页找到下载链接,进而根据指示步骤安装。

1.3 文件安装:

为了解决有些库文件直接使用pip安装失败的问题,美国加州大学尔湾分校提供了一个页面,帮助Python用户获得Windows可直接安装的第三方库文件,链接地址如下:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

界面如下:

 库界面如下,以numpy为例:

这里以scipy为例说明,首先在上述页面中找到scipy库对应的内容。选择其中的.whl文件下载,这里选择适用于Python 3.5版本解释器和32位系统的对应文件:scipy- 0 . 1 7 . 1 - cp3 5 - cp3 5m-win3 2 .whl,下载该文件到D:\pycodes目录。 然后,采用pip命令安装该文件:

总结:

对于上述三种安装方式,一般优先选择采用pip工具安装,如果安装失败,则选择自定义安装或
者文件安装。另外,如果需要在没有网络条件下安装Python第三方库,请直接采用文件安装方
式。其中,.whl文件可以通过pip download指令在有网络条件的情况下获得。

1.4 pip工具的使用:

在dos窗体中执行pip -h或者pip命令将列出pip常用的子命令和一些常用说明:

 pip支持安装(install)、下载(download)、卸载(uninstall)、列表(list)、查看(list)、查找(search)等一系列安装和维护子命令。

pip的show子命令列出某个已经安装库的详细信息,格式如下:pip show <拟查询库名>

pip的download子命令可以下载第三方库的安装包,但并不安装,格式如下:pip download

pip的search子命令可以联网搜索库名或摘要中关键字,格式如下:pip search <拟查询关键字>

2.脚本程序转变为可执行程序的第三方库PyInstaller

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

PyInstaller库的安装如下:pip install PyInstaller

使用PyInstaller库对Python源文件打包十分简单,使用方法如下:PyInstaller <Python源程序文件名>, 比如,PyInstaller  main.py

执行完毕后,源文件所在目录将生成dist和build两个文件夹。最终的打包程序在dist内部与源文
件同名的目录中。

可以通过-F参数对Python源文件生成一个独立的可执行文件,如下:

执行后在dist目录中出现了SnowView.exe文件,没有任何依赖库,执行它即可显示雪景效果。 

PyInstaller有一些常用参数:

 3.jieba库

3.1 jieba库概述: 

jieba(“结巴”)是Python中一个重要的第三方中文分词函数库。安装如下:pip install jieba ,由于中文文本中的单词不是通过空格或者标点符号分割,中文及类似语言存在一个重要的“分词”问题。

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

jieba库支持三种分词模式:精确模式,将句子最精确地切开,适合文本分析;全模式,把句子中
所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式
基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。对中文分词来说,

jieba库只需要一行代码即可。

 3.2 jieba库与中文分词: 

jieba.lcut(s)是最常用的中文分词函数,用于精准模式,即将字符串分割成等量的中文词组,返回
结果是列表类型。

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

 jieba.lcut_for_search(s)返回搜索引擎模式,该模式首先执行精确模式,然后再对其中长词进一
步切分获得最终结果。

搜索引擎模式更倾向于寻找短词语,这种方式具有一定冗余度,但冗余度相比全模式较少。 如果希望对文本准确分词,不产生冗余,只能选择jieba.lcut(s)函数,即精确模式。如果希望对文本分词更准确,不漏掉任何可能的分词结果,请选用全模式。如果没想好怎么用,可以使用搜索引擎模式。

jieba.add_word()函数,顾名思义,用来向jieba词库增加新的单词。

  4.wordcloud库

 4.1 wordcloud库概述: 

词云以词语为基本单元,根据其在文本中出现的频率设计不同大小以形成视觉上不同效果,形成
“关键词云层”或“关键词渲染”,从而使读者只要“一瞥”即可领略文本的主旨。wordcloud库是专门用于根据文本生成词云的Python第三方库,十分常用且有趣。装wordcloud库在Windows的cmd命令行使用如下命令:pip install wordcloud

wordcloud库的使用十分简单,以一个字符串为例。其中,产生词云只需要一行语句,在第三行,
并可以将词云保存为图片。

 4.2 wordcloud库与可视化词云: 

在生成词云时,wordcloud默认会以空格或标点为分隔符对目标文本进行分词处理。对于中文文
本,分词处理需要由用户来完成。一般步骤是先将文本分词处理,然后以空格拼接,再调用wordcloud库函数。

 wordcloud库的核心是WordColoud类,所有的功能都封装在WordCloud类中。使用时需要实
例化一个WordColoud类的对象,并调用其generate(text)方法将text文本转化为词云。WordCloud对象创建的常用参数:

WordCloud类的常用方法:

下面以Alice梦游仙境为例,展示参数、方法的使用。 

 

其中,from scipy.misc import imread一行用于将AliceMask.png读取为nd-array类型,用于后面传递给mask参数使用。(这个库函数隶属于scipy库,pip在安装wordcloud库时会自动安装依库。) 

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

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

相关文章

树莓派使用VNC、SSH、Xrdp等方式进行远程控制的方法和注意事项

下面来总结一下远程操控树莓派用到的三种方式及其注意事项&#xff0c;其实这三种方式对于所有的Linux系统来说都是适用的。 目录 一、ssh控制树莓派 1.开启 ssh服务方法一 2.开启 ssh服务方法二 二、VNC远程连接 三、xrdp远程连接 四、其他注意事项 一、ssh控制树莓派 S…

石油化工领域生产作业流程合规检测 yolov8

石油化工领域生产作业流程合规检测通过引入yolov8视觉数据智能分析技术&#xff0c;石油化工领域生产作业流程合规检测对生产作业流程进行实时监测和合规性检测&#xff0c;通过与预设标准进行比对&#xff0c;系统能够检测出不合规的操作或异常情况&#xff0c;并及时发出警报…

【Python】实现一个鼠标连击器,每秒点击1000次

前言 鼠标连击是指在很短的时间内多次点击鼠标按钮&#xff0c;通常是鼠标左键。当触发鼠标连击时&#xff0c;鼠标按钮会迅速按下和释放多次&#xff0c;产生连续的点击效果。 在这里鼠标连击的主要用途是&#xff1a; 帮助我们进行鼠标点击&#xff0c;疯狂连击&#xff1…

NUCLEO-F411RE RT-Thread 体验 (6) - GCC环境 I2C驱动移植以及i2c-tool的编写

NUCLEO-F411RE RT-Thread 体验 (6) - GCC环境 I2C驱动移植以及i2c-tool的编写 1、I2C驱动移植 RT-Rhread这里用的是软件模拟i2c&#xff0c;stm32的驱动里并没有找到硬件i2c的驱动&#xff0c;但是在GD32里面却有硬件i2c的驱动&#xff0c;有兴趣的小伙伴可以根据gd32的代码写…

Ubutun开机黑屏解决方法

开机黑屏解决方法 临时性解决方法永久性解决方法补充说明 在项目支持过程中发现Ubuntu 16 在新终端上开机黑屏&#xff0c;没有显示图形界面&#xff0c;这个可能是因为系统版本太低&#xff0c;对新显卡不兼容导致的&#xff0c;后通过查资料有如下解决方法。 临时性解决方法 …

腾讯云+PicGo+Typora图床,生成专属图片链接

腾讯云PicGoTypora搭建自己的图床 原创声明&#xff0c;转载请注明文章链接来源、作者信息 TyporaPicGogitHub搭建自己的图床&#xff0c;写作效率大大提升 索奇问答 问&#xff1a;图床是什么&#xff1f; 答&#xff1a;用户可以将图片上传到图床&#xff0c;然后将生成的…

代码随想录算法训练营第四十一天 |

01背包&#xff1a;n种物品&#xff0c;每种物品只有1个&#xff0c;有相应的重量和价值 最多只能装m的重量&#xff0c;最多价值为多少&#xff1f; dp[i][j] : [0, i]物品任取放进容量为j的背包里 不放物品i&#xff1a;dp[i-1][j] 放物品i&#xff1a;dp[i-1][j-weight[…

递归的浅浅应用

首先&#xff0c;这里是一道简单题目&#xff0c;浅浅地验证了我之前发过的这篇文章 写递归题目的思路 &#xff0c;我结合它来讲解一下这道题的思路&#xff1a; 剑指 Offer 27 和 method 226.翻转二叉树 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;…

python数据清洗 —— re.split()划分字符串

需求 对于一行字符串&#xff1a; route-views6.routeviews.org 141694 2a0c:b641:24f:fffe::7 184891 | CN | apnic | OTAKUJAPAN-AS Otaku Limited, CN要将其划分成如下7个部分&#xff0c; [route-views6.routeviews.org, 141694…

【C++篇】OOP下部分:友元、运算符重载与多态

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

精选MyBatis面试题

什么是MyBatis&#xff1f; MyBatis是一个半ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;它内部封装了JDBC&#xff0c;加载驱动、创建连接、创建statement等繁杂的过程&#xff0c;开发者开发时只需要关注如何编写SQL语句&#xff0c;可以严格控制sql执行性能&a…

Python高级语法--迭代器和生成器的区别

迭代器 在 Python 中&#xff0c;迭代器&#xff08;iterator&#xff09;是访问集合元素的一种方式&#xff0c;它可以遍历一个序列中的元素&#xff0c;而无需事先确定序列的大小&#xff08;即无需全部载入到内存中&#xff09;&#xff0c;且支持惰性求值。使用迭代器可以…

程序员 35 岁以后就真的要返乡种田了么?如果家里没田怎么办?

前言 在科技互联网高速发展的当下&#xff0c;程序员这个职业无疑是备受关注的。然而&#xff0c;这个行业似乎总是被一种说法所笼罩&#xff1a;程序员年龄一旦超过35岁&#xff0c;就会面临职业生涯的下坡路&#xff0c;甚至需要考虑“返乡种田”。这种说法是否真实呢&#x…

【Software Testing】【期末习题库】【2023年春】【仅供参考】

文章目录 ①单选②多选③填空④判断⑤大题 类型总分占比平时成绩40%考试/考查60% 题型题量分值备注单选201’多选103’全对3’&#xff0c;错1个0’&#xff0c;少选-1’填空102’判断52’大题210’ 平时习题&#xff08;3次&#xff09;&#xff1a; ①软件测试概述 ②黑盒测…

【五子棋实战】第5章 开发五子棋前端页面

【五子棋实战】第5章 开发五子棋前端页面 页面设计原则 开发页面 ## 基础HTML骨架 ## 添加页面响应式功能 编写JS ## 获取画布对象与DOM对象 ## 定义棋子、棋盘对象 ## 定义绘画对象&#xff08;重要&#xff01;&#xff01;&#xff09; ## 初始化绘制棋盘 ## 添加点…

Network 之十三 NC-SI 原理、拓扑结构、RBT 接口及仲裁、协议格式

最近&#xff0c;正在学习 NC-SI 的使用方法&#xff0c;于是开始各种 Google 查找 NC-SI 的资料进行学习。最详细还是得直接看 NC-SI 规范文档 DSP0222&#xff0c;以下就是记录的一些感觉 NC-SI 规范中比较重要的点以及我的一些理解&#xff0c;以备后续查阅。 有任何疑问&am…

OpenGL之模板测试

文章目录 模板测试模板函数物体轮廓源代码 模板测试 当片段着色器处理完一个片段之后&#xff0c;模板测试(Stencil Test)会开始执行&#xff0c;和深度测试一样&#xff0c;它也可能会丢弃片段。接下来&#xff0c;被保留的片段会进入深度测试&#xff0c;它可能会丢弃更多的片…

Git下:Git命令使用-详细解读

目录 一、Git 安装 二、Git 配置 三、Git 工作流程 四、Git 工作区、暂存区和版本库 五、常用 Git 命令清单 1. 创建仓库 2. 增加/删除文件 3. 代码提交 4. 分支管理 5. 标签 6. 查看历史提交 7. 远程仓库同步 8. 撤销操作 六、Git 常用命令速查表 七、Git 电子…

时序预测的深度学习算法全面盘点

1.概述 深度学习方法是一种利用神经网络模型进行高级模式识别和自动特征提取的机器学习方法&#xff0c;近年来在时序预测领域取得了很好的成果。常用的深度学习模型包括循环神经网络&#xff08;RNN&#xff09;、长短时记忆网络&#xff08;LSTM&#xff09;、门控循环单元&…

第五十一章 协助调查

眼前一个红彤彤的东西缓缓升起。 旭日东升&#xff1f;可现在才升未免太晚了些&#xff0c;升起的速度也未免太快了些&#xff0c;这红日么&#xff0c;也未免太小了些&#xff0c;而且&#xff0c;刚升起的朝阳&#xff0c;也未免显得太红太亮了些。 “是谁呀&#xff0c;水烧…