Skip to content

Python 安装第三方模块:打开生态宝库的大门

引言:手机应用商店的启示

你刚买了一部新手机,系统自带电话、短信、相机等基本功能——这就像 Python 的内置模块sysmathos)。

但真正让手机变得强大的,是应用商店里几十万款 App:微信、抖音、地图导航……你想用什么功能,搜一下、点安装,立刻拥有。

Python 的世界也一样:内置模块解决基础问题,第三方模块解决专业问题。想处理图片?装 Pillow。想做数据分析?装 Pandas。想写网站?装 Flask。而这一切的"应用商店",就是 PyPI,"安装按钮",就是 pip

这一篇,我们来学会如何搜索、安装和管理第三方模块,真正打开 Python 生态的宝库。


一、准备工作:认识 pip

1.1 pip 是什么?

pip 是 Python 的包管理工具——专门用来安装、升级、卸载第三方模块的命令行工具。

生活化理解:pip 就像你手机上的"应用商店 App",没有它,你只能去官网一个个下载安装包,麻烦至极。

1.2 检查 pip 是否可用

打开命令行(Windows 用 PowerShell 或 CMD,Mac/Linux 用 Terminal),输入:

bash
pip --version

看到类似这样的输出就说明 pip 已就绪:

pip 24.0 from C:\Python312\Lib\site-packages\pip (python 3.12)

1.3 如果 pip 没找到怎么办?

Windows 用户:重新运行 Python 安装程序,勾选这两个选项:

  • pip
  • Add python.exe to Path

Mac/Linux 用户:系统通常自带 pip。但要注意——很多 Mac/Linux 同时存在 Python 2.x 和 Python 3.x,对应的命令是 pip3

bash
pip3 --version

如果 pip 指向的是 Python 2,那就用 pip3 代替所有 pip 命令。


二、第一个第三方模块:安装 Pillow

2.1 先搞清楚:PIL 和 Pillow 是什么关系?

很多教程会提到"PIL"(Python Imaging Library),这是 Python 下非常强大的图像处理库。但要注意:

  • PIL 只支持到 Python 2.7,且多年未更新,已停止维护;
  • Pillow 是基于 PIL 的活跃分支,支持最新的 Python 3,社区非常活跃。

一句话:看到"PIL"这个名字,实际要装的是 Pillow

2.2 安装命令

bash
pip install Pillow

等待下载安装完成,看到 Successfully installed Pillow-xx.x.x 就成功了。

2.3 验证安装

python
>>> from PIL import Image
>>> img = Image.open('test.jpg')
>>> img.size
(1920, 1080)

能正常导入并使用,说明安装成功。

2.4 PyPI:Python 的"应用商店"

所有第三方库都在 Python 官方的 pypi.org 注册。要安装某个库,先搜到它的准确名称,然后用 pip 安装。

生活化理解:PyPI 像应用商店的货架,pip 是你的购物车——你告诉 pip 商品名(库名),它去货架上拿给你。


三、pip 常用命令速查

3.1 安装类

bash
# 安装最新版
pip install requests

# 安装指定版本
pip install requests==2.31.0

# 安装最低版本
pip install "requests>=2.28"

# 从 requirements.txt 批量安装
pip install -r requirements.txt

3.2 管理类

bash
# 查看已安装的包
pip list

# 查看某个包的详细信息
pip show requests

# 升级包
pip install --upgrade requests

# 卸载包
pip uninstall requests

3.3 导出依赖清单

bash
# 把当前环境所有包导出到文件
pip freeze > requirements.txt

# 在新环境一键还原
pip install -r requirements.txt

应用场景:项目从开发机搬到服务器、同事之间同步环境,一份 requirements.txt 搞定。


四、Anaconda:一站式的科学计算平台

4.1 为什么需要 Anaconda?

如果你做数据分析、机器学习,需要装:NumPy、Pandas、Matplotlib、SciPy、Jupyter、Scikit-learn……

用 pip 一个一个装?可以,但有两个痛点:

  1. 费时费力:几十个库,挨个输命令;
  2. 兼容性:不同库对 Python 版本、彼此版本有要求,手动调配容易冲突。

4.2 Anaconda 是什么?

Anaconda 是一个基于 Python 的数据科学平台,特点:

  • 预装了 180+ 个常用科学计算库;
  • 自带包管理工具 conda(功能类似 pip,但更强大);
  • 自带 Jupyter Notebook 等开发工具;
  • 安装后不影响系统已有的 Python

生活化理解:pip 安装像"单点外卖",Anaconda 像"自助餐"——一次性把几十道菜端上桌,不用一道道点。

4.3 安装 Anaconda

  1. Anaconda 官网 下载安装包(500~600MB,耐心等待);
  2. 双击安装,按提示完成;
  3. 重新打开命令行,输入 python,看到 Anaconda, Inc. 字样说明成功。

4.4 验证预装库

python
>>> import numpy
>>> import pandas
>>> import matplotlib

全部直接可用,无需再 pip install。

4.5 pip 和 conda 怎么选?

场景推荐工具理由
装 Anaconda 已预装的库直接用,不用装省事
装 Anaconda 没预装的库conda install 优先自动处理依赖和兼容性
conda 找不到的库pip installpip 库更全
纯 Python 项目(不做数据科学)pip轻量,不装 Anaconda

原则:有 Anaconda 环境先用 conda,没有或找不到再用 pip。


五、模块搜索路径:Python 去哪找模块?

5.1 导入模块时发生了什么?

python
>>> import mymodule
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mymodule

报错说"找不到模块"。Python 到底去哪找?

5.2 sys.path:模块的搜索清单

python
>>> import sys
>>> sys.path
['',
 '/Library/Frameworks/Python.framework/Versions/3.12/lib/python312.zip',
 '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12',
 ...,
 '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages']

Python 按 sys.path 列表里的路径从上到下搜索 .py 文件,找到就停,全找完还没找到就报错。

关键路径解读

路径含义
''(空字符串)当前目录——你现在所在的文件夹
.../python3.12标准库目录——内置模块住这
.../site-packages第三方模块目录——pip 安装的模块住这

生活化理解sys.path 像你的"找东西顺序清单"——先找桌面(当前目录),再找书架(标准库),最后找储物间(site-packages)。按清单顺序找,找到就停。

5.3 添加自己的搜索路径

方法一:运行时临时添加

python
import sys
sys.path.append('/Users/michael/my_py_scripts')

特点:只在当前程序运行期间有效,程序结束就失效。

方法二:设置环境变量 PYTHONPATH

把自定义目录加入 PYTHONPATH 环境变量,Python 启动时会自动把它加到 sys.path

特点:永久生效,但需要配置系统环境变量,步骤因操作系统而异。

建议:初学阶段把模块放在当前目录site-packages 里即可,等需要管理多个项目时再研究 PYTHONPATH。


六、常见误区与避坑指南

6.1 误区一:pip installimport 的名字不一样

这是新手最常见的困惑:

安装时用的名字导入时用的名字
pip install Pillowfrom PIL import Image
pip install opencv-pythonimport cv2
pip install scikit-learnimport sklearn
pip install beautifulsoup4from bs4 import BeautifulSoup
pip install PyYAMLimport yaml

规律:pip 装的是"包"(Package),import 导的是"模块"(Module)——两者名字经常不同,查文档确认。

6.2 误区二:权限不足导致安装失败

Windows 报错

Permission denied: 'C:\\Python312\\Lib\\site-packages\\...'

Mac/Linux 报错

Permission denied: '/Library/Python/3.x/site-packages/...'

解决办法

bash
# 方法 1:加 --user,装到用户目录(推荐)
pip install --user requests

# 方法 2:Windows 用管理员权限运行命令行
# 方法 3:Mac/Linux 加 sudo(不推荐,可能破坏系统 Python)
sudo pip install requests

6.3 误区三:多个 Python 版本装错位置

电脑里装了 Python 3.10 和 3.12,pip 装到了 3.10,但你用 3.12 运行代码,结果:

ModuleNotFoundError: No module named 'requests'

排查

bash
# 看 pip 装到哪了
pip --version
# pip 24.0 from C:\Python310\lib\site-packages\pip (python 3.10)

# 看当前 python 是哪个
python --version
# Python 3.12.0

解决:用 python -m pip 确保装到当前 Python:

bash
python -m pip install requests

6.4 误区四:在公司/学校网络装不上

有些内网环境无法访问 pypi.org,或下载极慢。

解决办法:换国内镜像源

bash
# 临时使用
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

# 永久配置(推荐)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

常用国内镜像:

  • 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
  • 阿里云:https://mirrors.aliyun.com/pypi/simple/
  • 豆瓣:https://pypi.douban.com/simple/

6.5 误区五:以为装了 Anaconda 就不用 pip 了

Anaconda 预装了很多库,但不是全部。遇到 Anaconda 没有的库,还是需要 pip 或 conda 安装。

而且 Anaconda 的包版本更新可能滞后于 PyPI——如果你需要某个库的最新版,pip 往往更快。


七、实战练习

练习 1:安装并验证 requests

安装 requests 库(HTTP 请求库),并用它获取你的公网 IP。

python
import requests

response = requests.get('https://httpbin.org/ip')
print(response.json())
参考答案
bash
# 安装
pip install requests
python
import requests

response = requests.get('https://httpbin.org/ip')
print(response.json())
# 输出类似:{'origin': '123.45.67.89'}

练习 2:制作依赖清单

假设你的项目用到了 requestsPillownumpy 三个库,请:

  1. 安装这三个库
  2. 导出 requirements.txt
  3. 模拟在新环境安装(不用真的卸了重装,看懂命令即可)
参考答案
bash
# 安装
pip install requests Pillow numpy

# 导出
pip freeze > requirements.txt

# 查看生成的文件(可以用记事本打开)
# 内容类似:
# requests==2.31.0
# Pillow==10.2.0
# numpy==1.26.3
# ...(可能还有依赖的子包)

# 新环境安装
pip install -r requirements.txt

练习 3:排查搜索路径

写一段代码,打印出你的 Python 会在哪些路径下搜索模块,并指出:

  • 当前目录是哪一行?
  • 第三方模块(pip 安装的)在哪一行?
  • 标准库在哪一行?
参考答案
python
import sys

print("模块搜索路径:")
for i, path in enumerate(sys.path, 1):
    print(f"{i}. {path}")

# 典型输出解读:
# 1. ''              ← 当前目录(空字符串)
# 2. .../python312.zip
# 3. .../python3.12   ← 标准库目录
# 4. .../site-packages ← 第三方模块目录(pip 安装的)

八、小结

  1. pip 是 Python 的包管理工具,Windows 安装时记得勾选 pipAdd to Path
  2. PyPI 是 Python 的应用商店,装库前先搜到准确名称;
  3. Pillow 是 PIL 的 Python 3 分支,看到 PIL 教程装 Pillow 即可;
  4. Anaconda 适合数据科学,预装 180+ 库,不影响系统 Python;
  5. sys.path 决定 Python 去哪找模块:当前目录 → 标准库 → site-packages;
  6. 常见坑:安装名和导入名不同、权限不足加 --user、多版本 Python 用 python -m pip、内网换国内镜像;
  7. requirements.txt 是环境同步的利器:导出、还原,一键搞定。

学会了安装第三方模块,你的 Python 就不再是"裸机",而是装上了各种专业 App 的智能手机——数据处理、网络请求、图像识别、Web 开发,想做什么,装什么。