必须先创建 .venv 是因为全局 pip install 会导致所有项目共享 site-packages,引发版本冲突;而 python -m venv .venv 可生成完全隔离的 python 环境,确保依赖互不干扰。

直接用 venv 创建独立环境是最简单、最可靠的方式——它不依赖第三方工具,Python 3.3+ 自带,且能彻底切断项目间包版本干扰。
为什么必须先创建 .venv 而不是直接 pip install
全局 pip install 会把包装进系统 Python 的 site-packages,所有项目共享一套包。一旦两个项目分别需要 requests==2.25.0 和 requests==2.31.0,必然有一个报错。
- 运行
python -m venv .venv会在当前目录生成一个完整隔离的 Python 副本,含独立解释器和site-packages - 激活后,
which python(macOS/Linux)或where python(Windows)必须指向.venv/bin/python或.venv\Scripts\python.exe,否则没生效 -
pip list激活后应只显示pip、setuptools等基础包,空环境才是干净起点
激活后仍装到全局?检查这三件事
常见“以为激活了,其实没生效”的情况,本质是 shell 没真正切换解释器上下文。
SkillSub Pro - Python 题解与代码注释双功能技能功能概述SkillSub Pro - Python 题解与代码注释双功能技能是一项面向实际任务的技能,主要用于SkillSub Pro 是一个 Python 题解生成与代码注释的 双功能合体技能 ,专为学生、算法学习者和开发者设计;✅ 一个技能,两种用途 :;核心要点📝 题解模式 :输入题目/题号,自动生成完整 Python 题解(含详细注释、解题思路、复杂度分析);💬 注释模式 :输入 Python 代码,自动添加详细中。它将相关步骤、
- Windows 用户:用
.\.venv\Scripts\activate.bat(CMD)或.\.venv\Scripts\Activate.ps1(PowerShell),后者需先执行Set-ExecutionPolicy RemoteSigned -Scope CurrentUser - macOS/Linux 用户:确认用了
source .venv/bin/activate,而不是双击或另开终端窗口 - IDE(如 VS Code):即使终端激活了,编辑器右下角 Python 解释器路径仍可能显示系统路径,必须手动选中
.venv/bin/python
requirements.txt 不是摆设,得按它重装
只靠 venv 隔离还不够——如果多人协作时各自 pip install requests,有人装 2.28,有人装 2.31,行为就不可复现。
- 生成锁定文件:
pip freeze > requirements.txt(仅适用于小项目) - 更推荐:
pip install pip-tools && pip-compile requirements.in,让requirements.in只写requests、django等顶层依赖,pip-compile自动生成带精确版本和哈希的requirements.txt - 部署或换机器时,只执行
pip install -r requirements.txt,禁止pip install后再pip freeze覆盖原文件
最容易被忽略的是:.venv 目录绝不能提交到 Git,但 requirements.txt(或 poetry.lock)必须提交。环境可丢,锁文件不能丢——它才是你项目依赖事实的唯一权威来源。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










