ubuntu中python venv使用

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. 最佳实践

  1. 每个项目单独环境:为每个项目创建独立的虚拟环境
  2. 及时更新 requirements.txt:安装新包后立即更新依赖文件
  3. 不要提交虚拟环境:确保 .gitignore包含虚拟环境目录
  4. 文档说明:在 README 中说明如何设置环境
  5. 定期清理:定期删除不再使用的虚拟环境
# 定期清理旧的虚拟环境
find ~ -type d -name "venv" -mtime +30 -exec rm -rf {} +

通过以上步骤,你可以在 Ubuntu 中高效地使用 Python venv 来管理项目依赖和环境隔离。

Comments

No comments yet. Why don’t you start the discussion?

发表回复