专栏名称: Python小屋
清华出版社《Python程序设计》系列教材作者董付国的Python小屋。介绍Python基础语法知识、标准库、扩展库知识,探讨Python在各领域的应用。
目录
相关文章推荐
Python爱好者社区  ·  史上最强!PINN杀疯了 ·  昨天  
Python爱好者社区  ·  DeepSeek创始人梁文锋个人履历 ·  3 天前  
Python爱好者社区  ·  多模态,杀疯了 ·  2 天前  
Python开发者  ·  o3-mini 碾压 DeepSeek ... ·  5 天前  
Python开发者  ·  请立即拿下软考证书(政策风口) ·  4 天前  
51好读  ›  专栏  ›  Python小屋

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

Python小屋  · 公众号  · Python  · 2021-01-19 09:46

正文

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

推荐图书:

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

京东购买链接: https://item.jd.com/12668739.html

天猫、当当均有销售,可以选择自己常用平台搜索“董付国 第3版”找到本书。
配套资源: 教学大纲、电子教案、微课视频、PPT课件、例题源码、习题答案、考试系统。
《Python程序设计(第3版)》配套 教学大纲
《Python程序设计(第3版)》课后 习题答案

=======================

1 基本概念
包、库、模块是 Python 中常用的概念。一般来说,模块指一个包含若干函数定义、类定义或常量的 Python 源程序文件,库或包指包含若干模块并且其中一个 文件名为 __init__.py 的文件夹。 对于包含完整功能代码的单个模块, 叫作库也可以,例如标准库 re re 模块这两种说法都可以。但一般不把库叫作模块,例如 tkinter 库包含若干模块文件,此时一般说标准库 tkinter 而不说 tkinter 模块。
Python 中,有内置模块、标准库和扩展库之分。内置模块和标准库是 Python 官方的标准安装包自带的,内置模块没有对应的文件,可以 认为是封装 Python 解释器主程序中的;标准库有对应的 Python 程序文件,这些文件在 Python 安装路径中的 Lib 文件夹中。如图1中 1 2 3 所示。
图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 已经收录了超过 2 8 万个扩展库项目,涉及很多领域的应用,例如 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 安装路径的 Lib\site-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 所示。
图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 ),并且不要修改下载的文件名。
图3 下载合适版本的 whl 文件
然后在命令提示符或 PowerShell 环境中使用 pip 命令进行离线安装,指定文件的完整路径和扩展名,例如:

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

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

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

如果由于网速问题导致在线安装速度过慢的话,






请到「今天看啥」查看全文