使用 venv 管理项目虚拟环境
上一节已经会在 PyCharm 中查看和切换 Python 解释器。但如果所有项目都直接使用同一个系统 Python,不同项目安装的第三方包就会混在一起。
这一节为每个项目创建独立的 .venv,再让命令行、pip 和 PyCharm 都使用这个环境。
虚拟环境解决什么问题
假设电脑中有两个项目:
项目 A:需要某个工具的 1.x 版本
项目 B:需要同一个工具的 2.x 版本如果两个项目共用系统 Python,更新其中一个项目的依赖,可能影响另一个项目。虚拟环境会为项目准备独立的解释器入口和第三方包目录:
系统中的 CPython 3.14
├── 项目 A/.venv
└── 项目 B/.venv.venv 不会重新下载一套 Python。它以已经安装的 Python 3.14 为基础,为当前项目建立一个隔离环境。
图中右侧的 .venv 以系统 Python 3.14 为创建基础,但项目依赖分别存放在各自环境中。
创建项目目录
先打开命令提示符或终端,创建一个练习项目:
mkdir python-project
cd python-project后面的命令都在 python-project 目录中执行。Windows 命令提示符可以用下面的命令确认当前位置:
cdPowerShell 使用:
Get-LocationmacOS 或 Linux 使用:
pwd使用 Python 3.14 创建 .venv
Windows
使用 Python 启动器明确选择 3.14:
py -3.14 -m venv .venvmacOS 和 Linux
如果系统提供 python3.14 命令,可以执行:
python3.14 -m venv .venv如果课程环境中的 python3 已经指向 Python 3.14,也可以执行:
python3 -m venv .venv命令正常结束后,项目目录中会出现 .venv。创建过程没有输出通常也表示成功。
不要修改 .venv 内部文件 虚拟环境中的目录和配置由 Python 管理。不要手动移动其中的 python.exe、脚本或包文件;环境失效时直接重建更可靠。
激活虚拟环境
激活的作用是让当前终端中的 python 和 pip 优先指向 .venv。
Windows PowerShell
.venv\Scripts\Activate.ps1如果 PowerShell 提示禁止运行脚本,可以先使用命令提示符完成本节,不需要为了激活虚拟环境修改整台电脑的安全策略。
macOS 和 Linux
source .venv/bin/activate激活后,命令行前面通常会出现 (.venv):
(.venv) ...\python-project>这个标记方便观察,但不能单独证明解释器一定正确。下一步还要检查实际路径。
让 PyCharm 使用 .venv
用 PyCharm 打开刚才创建的 python-project,再按照在 PyCharm 中更换 Python 解释器中的方法进入解释器设置。
选择已有本地环境,并指定下面的解释器:
Windows:项目目录\.venv\Scripts\python.exe
macOS/Linux:项目目录/.venv/bin/python配置完成后,在 PyCharm 中运行:
import sys
print(sys.executable)运行结果应该与终端中的解释器路径一致。随后关闭并重新打开 PyCharm Terminal,再执行一次:
python -c "import sys; print(sys.executable)"这样可以确认运行按钮和终端使用的是同一个 .venv。
虚拟环境
在虚拟环境中安装依赖
先更新当前环境中的 pip:
python -m pip install --upgrade pip再安装练习使用的第三方包:
python -m pip install requests检查安装位置:
python -m pip show requests输出中的 Location 应位于当前项目的 .venv。下一节会继续学习安装、卸载、版本约束和依赖文件。
退出与重新进入环境
完成当前工作后,可以退出虚拟环境:
deactivate关闭终端也会结束这一次激活状态。下次重新打开项目时,进入项目目录后再次执行对应系统的激活命令。
激活只影响当前终端 在一个终端中激活 .venv,不会自动改变其他已经打开的终端。每个终端都要单独检查当前解释器。
记录项目依赖
项目代码可以提交和分享,.venv 不适合一起打包。它包含本机路径和当前操作系统相关文件,体积也会不断增加。
在项目根目录创建 .gitignore,写入:
.venv/使用依赖文件记录需要安装的包:
python -m pip freeze > requirements.txt别人拿到项目后,可以创建自己的虚拟环境,再恢复依赖:
python -m pip install -r requirements.txt
python -m pip check重建失效的虚拟环境
虚拟环境中记录了本机解释器和项目路径。移动项目、卸载 Python 或直接复制别人的 .venv,都可能让环境失效。
重建时按下面的顺序操作:
- 保存
requirements.txt。 - 关闭正在使用该环境的 Python 程序和终端。
- 删除项目中的
.venv目录。 - 使用 Python 3.14 重新执行
venv创建命令。 - 激活新环境并检查
sys.executable。 - 使用
python -m pip install -r requirements.txt恢复依赖。 - 在 PyCharm 中重新选择新环境的解释器。
.venv 是可以重建的运行环境,项目源码和 requirements.txt 才是需要保留的内容。
小结
虚拟环境的完整操作链是:
确认 Python 3.14
→ 创建项目和 .venv
→ 激活并验证解释器
→ 配置 PyCharm
→ 安装和记录依赖
→ 退出环境
→ 重新激活或重建恢复下一节会在这个 .venv 中继续学习 pip。