linux下创建和激活python虚拟环境只需python3 -m venv .venv创建、source .venv/bin/activate激活;venv是python 3.3+内置模块,无需pip安装,激活后提示符显示(.venv)且which python指向项目内路径即生效。

Linux下创建和激活Python虚拟环境,只要系统有Python 3.3+,不用装额外包,python3 -m venv 一条命令就能建好,source 激活也只需一行。
确认Python版本和venv是否可用
venv是Python 3.3起内置模块,不是独立工具。先确认你用的是支持的版本:
- 运行
python3 --version,输出应为3.3或更高(比如3.10、3.12) - 如果提示
command not found,说明系统没装python3或没加到PATH;Ubuntu/Debian系可装sudo apt install python3,CentOS/RHEL系用sudo yum install python3 - 不需要单独
pip install venv—— 这是常见误解,venv不是PyPI包,它是标准库的一部分
创建虚拟环境:指定路径和名称很关键
在项目目录里执行创建命令,路径和名称直接影响后续使用体验:
- 推荐把虚拟环境目录命名为
.venv(点开头,隐藏但语义明确),避免用venv这种容易和模块名混淆的名字 - 命令示例:
python3 -m venv .venv—— 这会在当前目录生成.venv/文件夹 - 如果系统有多个Python版本(如
python3.8、python3.11),想指定解释器,直接调用对应二进制:/usr/bin/python3.8 -m venv py38-env - 不建议把虚拟环境放在系统级路径(如
/opt/或/usr/local/),它应该和项目代码一起管理,否则迁移或删除时容易遗漏
激活虚拟环境:source 是唯一可靠方式
Linux/macOS下必须用 source,不能直接执行脚本:
- 正确命令:
source .venv/bin/activate(注意前面的source,不是./.venv/bin/activate) - 激活后提示符会变成类似
(.venv) user@host:~/project$,这是最直观的确认方式 - 验证是否生效:运行
which python,输出应为~/project/.venv/bin/python;再跑python -c "import sys; print(sys.prefix)",路径也得指向.venv目录 - 如果提示
Activate.ps1 cannot be loaded或权限错误,说明你误用了Windows风格的命令(比如在WSL里敲了.venv\Scripts\activate),Linux下只有bin/activate有效
退出和清理:deactivate 足够,但要注意 shell 生命周期
deactivate 命令只对当前 shell 会话生效,这点容易被忽略:
- 运行
deactivate后,提示符恢复原样,which python也会回到系统 Python - 如果你开了多个终端窗口,每个窗口都要单独
source和deactivate,它们互不影响 - 删除虚拟环境就是删目录:
rm -rf .venv,无需其他操作;但别删错成项目源码目录 - Git 项目中记得把
.venv/加进.gitignore,否则会把几百MB的二进制文件提交上去
真正容易出问题的不是命令本身,而是路径写错、Python版本没对齐、或者在错误的shell里尝试激活——这些不会报明显错误,但会导致 pip 安装的包进错地方,后面调试起来反而更费时间。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











