虚拟环境需激活后python和pip才指向该环境;未激活时须用绝对路径调用环境内解释器,如D:project.venvScriptspython.exe;VS Code可手动选择解释器路径,Sublime Text需硬编码完整路径。

venv 激活后直接用 python 命令运行
虚拟环境只有被激活,python 和 pip 命令才指向该环境里的解释器和包管理器。不激活就运行,哪怕路径写对了,也大概率调用的是全局 Python。
激活命令因系统而异:
- Windows CMD/PowerShell:
.venvScriptsctivate - macOS/Linux:
source .venv/bin/activate
激活成功后,终端提示符前会显示 (.venv)(括号内是你的环境名)。此时执行:
python my_script.py
就一定是用虚拟环境里的 Python 解释器运行的,所依赖的包也只从该环境安装的库中查找。
立即学习“Python免费学习笔记(深入)”;
VS Code 中没自动识别 .venv 怎么办
VS Code 默认会在项目根目录下找 .venv 或 venv 文件夹并自动设为 Python 解释器,但有时会失败——常见原因是文件夹刚创建、没重启窗口,或解释器路径被手动改过。
手动指定步骤:
- 按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入 “Python: Select Interpreter” - 在列表中找到类似
./.venv/bin/python(macOS/Linux)或..venvScriptspython.exe(Windows)的路径 - 选中后,右下角状态栏会显示该解释器路径;再按
Ctrl+F5运行,就进了虚拟环境
如果列表里没出现,说明 VS Code 没扫描到——确认 .venv 文件夹确实在当前工作区根目录,且没被 .gitignore 或设置隐藏规则干扰。
SkillSub Pro - Python 题解与代码注释双功能技能功能概述SkillSub Pro - Python 题解与代码注释双功能技能是一项面向实际任务的技能,主要用于SkillSub Pro 是一个 Python 题解生成与代码注释的 双功能合体技能 ,专为学生、算法学习者和开发者设计;✅ 一个技能,两种用途 :;核心要点📝 题解模式 :输入题目/题号,自动生成完整 Python 题解(含详细注释、解题思路、复杂度分析);💬 注释模式 :输入 Python 代码,自动添加详细中。它将相关步骤、
Sublime Text 3 需要硬编码 python.exe 路径
Sublime Text 不像 VS Code 或 PyCharm 那样自动感知虚拟环境,必须显式指定解释器路径。关键点是:不能写 python,得写完整路径到虚拟环境内的 python.exe(Windows)或 python(macOS/Linux)。
例如,你创建的环境在 D:project.venv,那 Windows 下 Build System 配置应为:
{
"cmd": ["D:\project\.venv\Scripts\python.exe", "-u", "$file"],
"file_regex": "^[ ]*File "(...*?)", line ([0-9]*)",
"selector": "source.python"
}
注意几个易错细节:
- 路径分隔符用双反斜杠
\或正斜杠/,单反斜杠会被当成转义字符 -
$file是 Sublime 的变量,代表当前打开的文件路径,别写成绝对路径 - 保存时文件名建议用
MyVenv.sublime-build这类可读名,别用默认的untitled
不激活也能运行,但得用绝对路径调用 python.exe
有些场景下你不想激活环境(比如写 CI 脚本、多环境并行测试),那就跳过 activate,直接调用虚拟环境里的解释器。
例如,在任意目录下运行:
D:project.venvScriptspython.exe my_script.py
或者 macOS/Linux:
/path/to/project/.venv/bin/python my_script.py
这种方式完全绕过 shell 环境变量,100% 确保使用目标解释器。但要注意:
- 路径必须准确,尤其 Windows 上容易漏掉
Scripts目录层级 - 如果脚本依赖相对路径(如读取同级
config.json),请确保当前工作目录(cd到脚本所在目录)正确,否则可能报FileNotFoundError - 这种写法不适合交互式开发,只适合自动化或临时调试
最常被忽略的一点:虚拟环境创建时用的 Python 版本,决定了它能运行哪些语法(比如 match/case 只支持 Python 3.10+)。用 python -m venv .venv 创建时,调用的是当前 shell 的 python 命令版本;想指定 3.9 就得写 python3.9 -m venv .venv,否则可能踩 runtime 错误。


















