Ubuntu 中 Python venv 使用指南
1. 安装 Python3 和 venv
# 更新包列表
sudo apt update
# 安装 Python3 和 venv
sudo apt install python3 python3-venv python3-pip
# 检查安装是否成功
python3 --version
pip3 --version
2. 创建虚拟环境
基本创建方法
# 创建项目目录
mkdir myproject
cd myproject
# 创建虚拟环境
python3 -m venv venv
# 或者指定 Python 版本(如果有多个版本)
python3.8 -m venv venv
创建时包含系统包
# 包含系统站点包(不推荐,但某些情况需要)
python3 -m venv --system-site-packages venv
创建时升级 pip
# 创建时同时升级 pip
python3 -m venv venv
source venv/bin/activate
pip install --upgrade pip
3. 激活虚拟环境
# 激活虚拟环境
source venv/bin/activate
# 激活后提示符会显示环境名称
(venv) user@ubuntu:~/myproject$
验证激活
# 检查 Python 路径
which python
which pip
# 检查安装的包
pip list
4. 在虚拟环境中工作
安装包
# 激活环境后安装包
pip install requests
pip install numpy pandas matplotlib
# 安装特定版本
pip install django==3.2.0
# 从 requirements.txt 安装
pip install -r requirements.txt
生成 requirements.txt
# 生成当前环境的所有包
pip freeze > requirements.txt
# 只生成项目依赖(需要 pip-chill)
pip install pip-chill
pip-chill > requirements.txt
其他常用命令
# 查看已安装包
pip list
# 查看包详情
pip show package_name
# 升级包
pip install --upgrade package_name
# 卸载包
pip uninstall package_name
5. 退出虚拟环境
# 退出虚拟环境
deactivate
6. 删除虚拟环境
# 直接删除虚拟环境目录
rm -rf venv
# 或者如果当前在虚拟环境中
deactivate
rm -rf venv
7. 实用技巧和配置
创建项目启动脚本
# 创建 start.sh
#!/bin/bash
source venv/bin/activate
python app.py
# 给执行权限
chmod +x start.sh
在 VS Code 中使用
创建 .vscode/settings.json:
{
"python.pythonPath": "venv/bin/python",
"python.terminal.activateEnvironment": true
}
在 PyCharm 中使用
- 打开项目设置
- 选择 Python 解释器
- 选择
venv/bin/python
配置 shell 自动激活(可选)
在 ~/.bashrc中添加:
# 进入项目目录自动激活虚拟环境
function cd() {
builtin cd "$@"
if [[ -f "venv/bin/activate" ]]; then
source venv/bin/activate
fi
}
8. 项目结构示例
myproject/
├── venv/ # 虚拟环境目录(通常加入.gitignore)
├── .gitignore # Git 忽略文件
├── requirements.txt # 项目依赖
├── src/ # 源代码目录
│ ├── __init__.py
│ └── main.py
├── tests/ # 测试目录
└── README.md
.gitignore 内容示例
# 虚拟环境
venv/
env/
.venv/
# Python 缓存
__pycache__/
*.pyc
9. 常见问题解决
权限问题
# 如果遇到权限错误
sudo chown -R $USER:$USER venv/
虚拟环境无法激活
# 检查文件权限
chmod +x venv/bin/activate
# 重新创建虚拟环境
python3 -m venv --clear venv
不同 Python 版本
# 如果有多个 Python 版本
python3.8 -m venv venv
python3.9 -m venv venv
# 使用 update-alternatives 管理版本
sudo update-alternatives --config python3
10. 最佳实践
- 每个项目单独环境:为每个项目创建独立的虚拟环境
- 及时更新 requirements.txt:安装新包后立即更新依赖文件
- 不要提交虚拟环境:确保
.gitignore包含虚拟环境目录 - 文档说明:在 README 中说明如何设置环境
- 定期清理:定期删除不再使用的虚拟环境
# 定期清理旧的虚拟环境
find ~ -type d -name "venv" -mtime +30 -exec rm -rf {} +
通过以上步骤,你可以在 Ubuntu 中高效地使用 Python venv 来管理项目依赖和环境隔离。