第六章 · 模块与包

pip 与虚拟环境

本节目标

学完这一节,你会知道:

  1. pip 是什么,如何安装第三方库
  2. 为什么每个项目都建议使用虚拟环境
  3. 如何创建、激活、退出虚拟环境
  4. requirements.txt 有什么用
  5. 如何搭建一个简单项目环境

标准库是 Python 自带的工具,第三方库是别人写好的工具。pip 就是安装第三方库的工具。

先跑一个例子

打开终端,创建一个练习文件夹:

mkdir pip_demo
cd pip_demo
python3 -m venv .venv

激活虚拟环境:

source .venv/bin/activate

Windows 可以用:

.venv\Scripts\activate

安装一个第三方库:

pip install requests

查看已安装:

pip list

退出虚拟环境:

deactivate

pip 是什么?

pip 是 Python 的包管理器,用来安装、升级、卸载第三方库。

常见命令:

pip install requests
pip install flask==3.0
pip uninstall requests
pip list
pip show flask

如果你使用的是 macOS 或 Linux,有时需要写:

python3 -m pip install requests

这种写法能更明确地使用当前 Python 对应的 pip。

什么是第三方库?

第三方库就是 Python 官方标准库之外的库。

常见例子:

  • requests:发送 HTTP 请求
  • flask:做网站后端
  • pandas:处理表格数据
  • pillow:处理图片
  • pytest:写测试

第三方库能让你少造很多轮子。

为什么需要虚拟环境?

不同项目可能需要不同版本的库。

例如:

  • A 项目需要 Flask 2
  • B 项目需要 Flask 3

如果都装在系统 Python 里,很容易冲突。

虚拟环境就像给每个项目准备一个独立工具箱。

创建和激活 venv

创建:

python3 -m venv .venv

macOS / Linux 激活:

source .venv/bin/activate

Windows 激活:

.venv\Scripts\activate

激活后,终端前面通常会出现:

(.venv)

退出:

deactivate

requirements.txt

项目依赖通常记录在 requirements.txt

安装依赖后,可以冻结版本:

pip freeze > requirements.txt

别人拿到项目后,可以安装:

pip install -r requirements.txt

一个简单的 requirements.txt 可能是:

flask>=3.0
requests>=2.31

.gitignore

虚拟环境不要提交到 Git。

常见 .gitignore

.venv/
venv/
__pycache__/
*.pyc
.env

提交 requirements.txt,不要提交 .venv/

逐行拆解

python3 -m venv .venv

用 Python 自带的 venv 模块创建虚拟环境,目录名叫 .venv

source .venv/bin/activate

激活虚拟环境,让后续 pip install 安装到这个项目里。

pip freeze > requirements.txt

把当前环境里的依赖版本写入文件。

自己改一改

按下面流程创建一个练习项目:

mkdir my_python_project
cd my_python_project
python3 -m venv .venv
source .venv/bin/activate
pip install requests
pip freeze > requirements.txt

然后创建 main.py

import requests

print(requests.__version__)

运行:

python3 main.py

然后继续做:

  1. 查看 requirements.txt
  2. 退出虚拟环境
  3. 再重新激活虚拟环境

常见错误

1. 忘记激活虚拟环境

安装前看终端前面有没有 (.venv)

2. 把 .venv 提交到 Git

.venv/ 很大,而且可以通过 requirements.txt 重建,不应该提交。

3. pip 安装太慢

可以临时使用镜像源:

pip install flask -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 系统提示 externally-managed-environment

这通常表示你正在系统 Python 里安装包。建议创建并激活虚拟环境后再安装。

小练习

练习 1:创建虚拟环境

创建一个文件夹 venv_practice,并在里面创建 .venv

练习 2:安装 rich

激活虚拟环境后安装:

pip install rich

然后用 pip list 查看。

练习 3:生成 requirements

把当前依赖写入 requirements.txt

参考答案

练习 1:

mkdir venv_practice
cd venv_practice
python3 -m venv .venv

练习 2:

source .venv/bin/activate
pip install rich
pip list

Windows 激活命令:

.venv\Scripts\activate

练习 3:

pip freeze > requirements.txt

小结

这一节你学会了:

  1. pip 用来安装第三方库
  2. 虚拟环境能隔离不同项目的依赖
  3. python3 -m venv .venv 可以创建虚拟环境
  4. requirements.txt 用来记录项目依赖
  5. .venv/ 不提交,requirements.txt 要提交

下一章我们会学习面向对象。你会用类和对象组织更复杂的数据和行为。

虚拟环境像给每个项目配一间小工作室

pip 负责搬工具,venv 负责把工具放在各自项目里,不互相打架。第一次激活虚拟环境可能有点仪式感,看到终端前面的 .venv 就安心了。马哥建议你从现在开始,每个项目都给它一个自己的小屋。

讨论 (0)

还没有评论,来抢沙发吧!