python官方扩展库命令_Python扩展库安装与常见问题解决完整指南

本文是关于Python扩展库的安装与常见问题解决的完整指南,涵盖了Python的库概念,内置模块、标准库和扩展库的区别。讨论了如何使用pip和conda管理扩展库,包括安装、升级和卸载,并提供了离线安装和处理安装问题的方法,如网络问题、版本冲突和安装路径问题。此外,还提到了安装扩展库时可能遇到的扩展库bug和版本冲突问题的解决方案。
摘要由CSDN通过智能技术生成

原标题:Python扩展库安装与常见问题解决完整指南

“Python小屋”编程比赛正式开始

《Python程序设计(第3版)》, (ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月第1次印刷,2021年1月第6次印刷

1 基本概念

包、库、模块是Python 中常用的概念。一般来说,模块指一个包含若干函数定义、类定义或常量的Python 源程序文件,库或包指包含若干模块并且其中一个文件名为__init__.py 的文件夹。对于包含完整功能代码的单个模块,叫作库也可以,例如标准库re 和re模块这两种说法都可以。但一般不把库叫作模块,例如tkinter库包含若干模块文件,此时一般说标准库tkinter而不说tkinter模块。

在Python 中,有内置模块、标准库和扩展库之分。内置模块和标准库是Python官方的标准安装包自带的,内置模块没有对应的文件,可以认为是封装在Python 解释器主程序中的;标准库有对应的Python程序文件,这些文件在Python安装路径中的Lib文件夹中。如图1中1、2、3所示。

a6330f627e501aa28d7d79c70d3d2b3d.png

图1内置模块、标准库、扩展库的区别

Python 官方的标准安装包自带了math (数学模块)、random(随机模块)、datetime(日期时间模块)、collections(包含更多扩展版本序列的模块)、functools(与函数以及函数式编程有关的模块)、urllib(与网页内容读取以及网页地址解析有关的模块)、itertools(与序列迭代有关的模块)、string(字符串操作)、re(正则表达式模块)、os(系统编程模块)、os.path(与文件、文件夹有关的模块)、zlib(数据压缩模块)、hashlib(安全哈希与报文摘要模块)、socket(套接字编程模块)、tkinter(GUI编程模块)、sqlite3(操作SQLite数据库的模块)、csv(读写CSV文件的模块)、json(读写JSON文件的模块)、pickle(数据序列化与反序列化的模块)、statistics(统计模块)、time(时间操作有关的模块)等大量内置模块和标准库(完整清单可以通过官方在线帮助文档https://docs.python.org/3/library/index.html进行查看),但没有集成任何扩展库,程序员可以根据实际需要再安装第三方扩展库。

截至2021 年1月,pypi 已经收录了超过28万个扩展库项目,涉及很多领域的应用,例如jieba (用于中文分词)、moviepy(用于编辑视频文件)、xlrd(用于读取Excel 2003之前版本文件)、xlwt(用于写入Excel 2003之前版本文件)、openpyxl(用于读写Excel2007及更高版本文件)、python-docx(用于读写Word 2007及更新版本文件)、python-pptx(用于读写PowerPoint 2007及更新版本文件)、pymupdf (用于操作PDF文件)、pymssql (用于操作Microsoft SQLServer数据库)、pypinyin(用于处理中文拼音)、pillow(用于数字图像处理)、pyopengl(用于计算机图形学编程)、numpy(用于数组计算与矩阵计算)、scipy(用于科学计算)、pandas(用于数据分析与处理)、matplotlib(用于数据可视化或科学计算可视化)、requests (用于实现网络爬虫功能)、beautifulsoup4(用于解析网页源代码)、scrapy (爬虫框架)、sklearn(用于机器学习)、PyTorch、tensorflow(用于深度学习)、flask、django(用于网站开发)等几乎渗透到所有领域的扩展库或第三方库。

2 安装扩展库

Python 官方提供的安装包只包含了内置模块和标准库,没有包含任何扩展库,开发人员可以根据实际需要再安装和使用合适的扩展库,成功安装之后扩展库文件会存放于Python 安装路径的Libsite-packages文件夹中,如图1中4、5、6所示。Python 自带的pip工具是管理扩展库的主要方式,支持Python扩展库的安装、升级和卸载等操作。pip命令需要在命令提示符环境中执行,在线安装扩展库的话需要计算机保持联网状态,该命令常用方法如表1所示,可以在命令提示符环境执行命令“pip -h” 查看完整用法。

表1 常用pip 命令使用方法

pip 命令示例

说明

pip freeze

列出已安装模块及其版本号

pip install SomePackage[==version]

在线安装 SomePackage模块,可以指定扩展库版本,如果不指定则默认安装最新版本,使用时把 SomePackage替换为实际的扩展名名称,例如jieba、pillow、pypinyin

pip install SomePackage.whl

通过whl 文件离线安装扩展库

pip install --upgrade SomePackage

升级 SomePackage模块到最新版本

pip uninstall SomePackage

卸载SomePackage 模块

如果使用Anaconda3 的话,除了pip之外,也可以使用conda命令安装、更新和卸载Python扩展库。命令conda支持clean、config、create、info、install、list、uninstall、upgrade等子命令,可以使用命令“conda -h”查看具体用法。在开始菜单中依次打开“Anaconda3(64bit)”==>“Anaconda Prompt(Anaconda3)” ,如图1-15 中箭头3 所示。进入Anaconda命令提示符环境,执行conda命令管理扩展库即可。

并不是每个扩展库都有相应的conda版本,如果遇到conda无法装的扩展库,进入Anaconda Prompt(Anaconda3)命令提示符环境使用pip安装之后一样可以在Anaconda3的Jupyter Notebook和Spyder环境中使用。如图2所示。

35ca30d3516851f1077012777a1bfc63.png

图2使用pip 命令为Anaconda3安装扩展库

3 常见问题与解决方法

很多初学者由于不熟悉环境搭建尤其是扩展库的安装,浪费了大量宝贵时间。本节简单介绍一下安装扩展库过程中常见的几种问题以及相应的解决方法。

(1 )在线安装失败

如果在线安装扩展库失败,一定要仔细阅读错误信息,这对于解决问题是至关重要的。只有准确地知道发生了什么错误,才有可能找到正确的解决方法。

在线安装失败最大的可能有三个:1 )网络不好导致下载失败,2 )需要本地安装有正确版本的VC++ 编译环境,3 )扩展库暂时还不支持自己使用的Python 版本。对于第一种错误,可以多尝试几次、指定国内源或下载whl 文件离线安装。如果出现第二种错误,可以在本地安装合适版本的VC++ 编译器或者下载whl 文件离线安装。对于第三种错误,可以尝试找一下有没有第三方编译好的whl 文件可以下载然后离线安装。

在Windows 平台上,可以从http://www.lfd.uci.edu/~gohlke/pythonlibs/下载大量第三方编译好的.whl格式扩展库安装文件,如图3所示。此处要注意,一定要选择正确版本(文件名中有cp38 表示适用于Python 3.8,有cp37表示适用于Python 3.7,以此类推;文件名中有win32表示适用于32位Python,有win_amd64表示适用于64位Python),并且不要修改下载的文件名。

056f6b32c796ab458eb428be03b73179.png

图3下载合适版本的whl 文件

然后在命令提示符或PowerShell 环境中使用pip 命令进行离线安装,指定文件的完整路径和扩展名,例如:

pip install psutil-5.6.7-cp38-cp38-win_amd64.whl

在PowerShell 环境中,如果要执行当前目录下的程序,需要在前面加一个圆点和一个斜线,例如在Python 安装路径中s 文件夹中执行上面的命令需要改成下面的格式:

./pip install psutil-5.6.7-cp38-cp38-win_amd64.whl

如果由于网速问题导致在线安装速度过慢的话,pip 命令支持指定国内的站点来提高速度,下面的命令用来从阿里云服务器下载安装扩展库jieba ,其他服务器地址可以自行查阅。

pip install jieba -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com

如果固定使用阿里云服务器镜像,可以在当前登录用户的AppDataRoaming 文件夹中创建文件夹pip,在pip文件夹中创建文件pip.ini,输入下面的内容,以后再执行pip命令安装和升级扩展库时就不用每次都指定服务器地址了。

[global]

index-url = http://mirrors.aliyun.com/pypi/simple

[install]

trusted-host = mirrors.aliyun.com

如果遇到类似于“ 拒绝访问”的出错提示,可以使用管理员权限启动命令提示符,或者在执行pip命令时在最后增加选项“--user”。

(2 )安装路径带来的问题

很多初学者会遇到这样的问题:使用pip 安装扩展库时明明提示安装成功,使用pip list 或pip freeze 查看扩展库清单里也有,但在Python 开发环境中却一直提示不存在。这样的问题基本上可以肯定是安装路径和使用路径不一致造成的。

注意,如果计算机上安装了多个版本的Python 开发环境,在一个版本下安装的扩展库无法在另一个版本中使用。为了避免因为路径问题带来困扰,强烈建议在命令提示符或PowerShell 环境切换至相应版本Python 安装目录的s文件夹中,然后执行pip命令,如果要离线安装扩展库的话,最好也把.whl文件下载到相应版本的s文件夹中。简单地说,想在哪个版本的Python 中使用扩展库,就到哪个版本的Python安装路径中的s子文件夹中安装扩展库,这样可以最大程度地减少错误。

(3 )扩展库自身bug 或版本冲突问题

虽然现在这种情况已经越来越少遇到了,但确实还会偶尔发生。不管是多牛的程序员,写出来的代码都有可能会存在bug ,这是正常的,Python也不例外。某些扩展库在升级过程中解决原来问题的同时又引入了新的错误,导致某些功能在旧版本中工作正常但在新版本中却无法使用。如果遇到类似的情况,可以查一下扩展库的官方网站的最新消息,或者暂时还原较低的版本,如果水平足够的话也可以自己修改一下扩展库的代码再使用。

编写Python 程序时,尤其是使用了扩展库的程序,还可能会遇到的一种情况是,升级扩展库以后原来的程序无法运行了,提示某些属性或方法不存在。这是因为新版本扩展库不再支持原来的用法,这时需要查一下这个扩展库官方网站的更新历史,找到最新的用法然后修改自己的代码。

,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过115次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过500节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习1318道客观题和176道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。返回搜狐,查看更多

责任编辑:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值