推荐图书:
《Python程序设计(第3版)》,
(ISBN:978-7-302-55083-9),董付国,清华大学出版社,2020年6月
第1次印刷,2021年1月第6次印刷
京东购买链接:
https://item.jd.com/12668739.html
天猫、当当均有销售,可以选择自己常用平台搜索“董付国 第3版”找到本书。
配套资源:
教学大纲、电子教案、微课视频、PPT课件、例题源码、习题答案、考试系统。
=======================
包、库、模块是
Python
中常用的概念。一般来说,模块指一个包含若干函数定义、类定义或常量的
Python
源程序文件,库或包指包含若干模块并且其中一个
文件名为
__init__.py
的文件夹。
对于包含完整功能代码的单个模块,
叫作库也可以,例如标准库
re
和
re
模块这两种说法都可以。但一般不把库叫作模块,例如
tkinter
库包含若干模块文件,此时一般说标准库
tkinter
而不说
tkinter
模块。
在
Python
中,有内置模块、标准库和扩展库之分。内置模块和标准库是
Python
官方的标准安装包自带的,内置模块没有对应的文件,可以
认为是封装
在
Python
解释器主程序中的;标准库有对应的
Python
程序文件,这些文件在
Python
安装路径中的
Lib
文件夹中。如图1中
1
、
2
、
3
所示。
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
(用于网站开发)等几乎渗透到所有领域的扩展库或第三方库。
Python
官方提供的安装包只包含了内置模块和标准库,没有包含任何扩展库,开发人员可以根据实际需要再安装和使用合适的扩展库,成功安装之后扩展库文件会存放于
Python
安装路径的
Lib\site-packages
文件夹中,如图
1
中
4
、
5
、
6
所示。
Python
自带的
pip
工具是管理扩展库的主要方式,支持
Python
扩展库的安装、升级和卸载等操作。
pip
命令需要在命令提示符环境中执行,在线安装扩展库的话需要计算机保持联网状态,该命令常用方法如表
1
所示,可以在命令提示符环境执行命令
“pip -h”
查看完整用法。
|
|
|
|
pip install SomePackage[==version]
|
在线安装
SomePackage
模块,可以指定扩展库版本
,如果不指定则默认安装最新版本,使用时把
SomePackage
替换为实际的扩展名名称,例如
jieba
、
pillow
、
pypinyin
|
pip install SomePackage.whl
|
|
pip install --upgrade SomePackage
|
|
pip uninstall 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
安装扩展库
很多初学者由于不熟悉环境搭建尤其是扩展库的安装,浪费了大量
宝贵
时间。本节简单介绍一下安装扩展库过程中常见的几种问题以及相应的解决方法。
如果在线安装扩展库失败,一定要仔细阅读错误信息,这对于解决问题是至关重要的。只有准确地知道发生了什么错误,才有可能找到正确的解决方法。
在线安装失败最大的可能有三个:
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
),并且不要修改下载的文件名。
然后在命令提示符或
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