day-024-pip与第三方库
Day 24:pip 与第三方库——打开 Python 的宝藏仓库
标准库虽然强大,但真正让 Python 统治数据科学和 AI 领域的,是十万多个第三方库。今天学如何安装、管理它们。
一、pip——Python 的包管理器
pip是 Python 的官方包管理工具(Python 3.4+ 自带)。用它可以一键安装任何第三方库。
# 基本命令pipinstall包名# 安装pipinstall包名==版本号# 安装指定版本pipinstall'包名>=2.0'# 安装不低于某版本pipinstall--upgrade包名# 升级到最新版pip uninstall 包名# 卸载pip list# 查看已安装的所有包pip show 包名# 查看某个包的详细信息实战:安装常用的数据科学库
pipinstallnumpy# 科学计算pipinstallpandas# 数据处理pipinstallmatplotlib# 数据可视化pipinstallrequests# HTTP 请求pipinstallpillow# 图片处理如果你想一次性安装多个,可以把它们写在requirements.txt里:
# requirements.txt numpy==1.26.0 pandas>=2.0 matplotlib requests然后一行搞定:
pipinstall-rrequirements.txt二、虚拟环境——每个项目独立的"隔离箱"
不同项目可能需要同一个库的不同版本。虚拟环境让每个项目拥有独立的依赖。
# 创建虚拟环境python-mvenv myenv# 激活(Windows)myenv\Scripts\activate# 激活(Mac/Linux)sourcemyenv/bin/activate# 此时终端前面出现 (myenv),说明已激活# 之后 pip install 只对当前虚拟环境生效# 退出虚拟环境deactivate为什么一定要用虚拟环境?
- 避免不同项目的依赖冲突
- 方便迁移和部署(导出 requirements.txt)
- 不污染系统 Python 环境
三、requests——HTTP 请求库
第三方库的王者,爬取网页、调用 API 必备:
importrequests# GET 请求response=requests.get("https://www.baidu.com")print(response.status_code)# 200 表示成功# 带参数的请求params={"q":"Python","page":1}response=requests.get("https://api.example.com/search",params=params)# POST 请求data={"username":"小明","password":"secret"}response=requests.post("https://api.example.com/login",json=data)# 获取 JSON 响应data=response.json()print(data)# 设置超时(避免永远等待)response=requests.get("https://slow-api.com",timeout=5)# 下载图片img_response=requests.get("https://example.com/photo.jpg")withopen("photo.jpg","wb")asf:f.write(img_response.content)# content 是二进制数据四、导入库与命名约定
# 社区约定俗成的别名importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltimportseabornassnsfromPILimportImageimportrequests# 之后看到这些缩写要知道什么意思arr=np.array([1,2,3])df=pd.DataFrame({"A":[1,2,3]})plt.plot([1,2,3],[4,5,6])五、常用第三方库一览
| 领域 | 库名 | 用途 |
|---|---|---|
| 科学计算 | numpy | 多维数组与数值运算 |
| 数据处理 | pandas | 表格数据处理 |
| 可视化 | matplotlib / seaborn | 图表绘制 |
| 深度学习 | torch / tensorflow | 神经网络框架 |
| HTTP | requests | HTTP 请求 |
| 爬虫 | scrapy / beautifulsoup4 | 网页抓取解析 |
| Web 开发 | flask / django / fastapi | 网站后端框架 |
| 图片处理 | pillow | 图片读写处理 |
| 办公自动化 | openpyxl / python-docx | Excel / Word 操作 |
| 测试 | pytest | 自动化测试框架 |
今天先不深入学习每个库,先知道 pip 怎么用,后面 NumPy、Pandas 会专门花大量时间学。
六、实战:写一个天气查询脚本
"""用 requests 调用免费天气 API"""importrequestsdefget_weather(city):"""获取指定城市的天气信息(模拟)"""# 实际开发中,你需要找一个真实的天气 APIurl="https://httpbin.org/get"# 这是一个测试用的 APIparams={"city":city}try:response=requests.get(url,params=params,timeout=10)response.raise_for_status()# 状态码不是 200 就抛异常data=response.json()print(f"请求{city}的天气数据成功!")print(f"返回数据:{data}")exceptrequests.ConnectionError:print("网络连接失败!请检查网络")exceptrequests.Timeout:print("请求超时,请稍后重试")exceptrequests.RequestExceptionase:print(f"请求出错:{e}")if__name__=="__main__":get_weather("北京")七、今日学习总结
| 学习内容 | 掌握情况 | 一句话要点 |
|---|---|---|
| pip install | ✅ 重点 | pip install 包名安装第三方库 |
| requirements.txt | ✅ 了解 | 记录依赖,方便复现环境 |
| 虚拟环境 venv | ✅ 重点 | python -m venv myenv创建独立环境 |
| requests GET/POST | ✅ 重点 | 发 HTTP 请求,获取数据 |
| 常见别名约定 | ✅ 记住 | np,pd,plt |
| 第三方库生态 | ✅ 了解 | numpy/pandas/matplotlib 是三件套 |
今日踩坑记录
- pip 不是内部命令:安装 Python 时没勾选 “Add to PATH”,或者虚拟环境没激活。
- 国内 pip 下载慢:可以换清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名。 - requests 请求卡住不返回:就是因为没设
timeout参数。永远加timeout。
八、明天学什么?
环境准备全部就绪。明天正式开始第二阶段——NumPy 入门,学习多维数组(ndarray)的创建和基本操作。这是整个数据科学和 AI 领域的地基。
pip 打开了 Python 生态的大门。14万+个库等着你——你不需要全部学会,只需要知道"一定有现成的轮子"。
第24天,打卡完成。明天见!
本系列是个人学习笔记,如有错误欢迎在评论区指正交流。