Jacky's blog
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • 学习笔记

    • web
    • android
    • iOS
    • vue
  • 分类
  • 标签
  • 归档
收藏
  • tool
  • algo
  • python
  • java
  • server
  • growth
  • frida
  • blog
  • SP
  • more
GitHub (opens new window)
  • python 学习指南
  • python 中的设计模式
  • module

  • tool

    • python 虚拟环境
      • 本地虚拟环境
        • 创建虚拟环境
        • 激活虚拟环境
        • 退出虚拟环境
        • 虚拟环境管理最佳实践
        • 常用命令
        • 查看和管理包
        • 虚拟环境信息
        • 高级用法
        • 指定 Python 版本
        • 虚拟环境位置
        • 删除虚拟环境
        • 常见问题解决
        • 权限问题
        • 路径问题
        • 包安装问题
        • IDE 集成
        • VS Code 配置
        • PyCharm 配置
        • 项目示例
        • 完整的项目设置流程
        • 团队协作
        • 最佳实践总结
        • 相关工具
        • 参考链接
    • python 调试工具embed
    • python 调试工具pdb
    • python 包管理器 pip
    • pyenv 好用的python版本管理工具
  • other

  • 《python》
  • tool
Jacky
2025-05-11
目录

python 虚拟环境

# 本地虚拟环境

Python 虚拟环境是一个独立的 Python 解释器环境,可以为不同项目创建隔离的依赖环境,避免包版本冲突。

# 创建虚拟环境

  • python -m venv .venv:
    • 用于创建 Python 虚拟环境

    • .venv 是虚拟环境的目录名,可以自定义

    • 虚拟环境可以隔离不同项目的 Python 包依赖

    • 创建后会在当前目录下生成一个包含 Python 解释器和 pip 的独立环境

    • 示例:

      # 创建名为 .venv 的虚拟环境
      python -m venv .venv
      
      # 创建指定 Python 版本的虚拟环境
      python3.8 -m venv .venv
      
      # 创建自定义名称的虚拟环境
      python -m venv myenv
      
      1
      2
      3
      4
      5
      6
      7
      8

# 激活虚拟环境

  • source venv/bin/activate (Linux/Mac) 或 .\venv\Scripts\activate (Windows)
    • 用于激活 Python 虚拟环境

    • 激活后,命令提示符前会出现 (venv) 标识

    • 激活后可以使用该虚拟环境中的 Python 解释器和包

    • 示例:

      # Linux/Mac
      source venv/bin/activate
      
      # Windows
      .\venv\Scripts\activate
      
      1
      2
      3
      4
      5

# 退出虚拟环境

  • deactivate: 用于退出当前激活的 Python 虚拟环境
    • 当你在使用虚拟环境时,这个命令会恢复到系统的默认 Python 环境

    • 使用场景:

      • 完成虚拟环境中的工作后,需要切换回系统环境
      • 需要切换到其他虚拟环境时,先退出当前环境
    • 示例:

      # 退出虚拟环境
      deactivate
      
      1
      2
    • 注意:

      • 只有在虚拟环境被激活的情况下,deactivate 命令才有效
      • 执行后,命令提示符会恢复到激活虚拟环境之前的状态
      • 不会删除虚拟环境,只是暂时退出

# 虚拟环境管理最佳实践

  1. 为每个项目创建独立的虚拟环境
  2. 将虚拟环境目录(如 .venv)添加到 .gitignore 文件中
  3. 使用 requirements.txt 记录项目依赖
  4. 定期更新虚拟环境中的包以修复安全漏洞
  5. 在激活虚拟环境后安装项目所需的包

# 常用命令

# 查看和管理包

# 查看已安装的包
pip list

# 查看特定包的详细信息
pip show package_name

# 导出依赖列表
pip freeze > requirements.txt

# 从依赖列表安装包
pip install -r requirements.txt

# 升级 pip
pip install --upgrade pip
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 虚拟环境信息

# 查看当前 Python 解释器路径
which python  # Linux/Mac
where python  # Windows

# 查看 Python 版本
python --version

# 查看 pip 版本
pip --version
1
2
3
4
5
6
7
8
9

# 高级用法

# 指定 Python 版本

# 使用特定 Python 版本创建虚拟环境
python3.9 -m venv .venv
python3.10 -m venv .venv

# 检查虚拟环境中的 Python 版本
source .venv/bin/activate
python --version
1
2
3
4
5
6
7

# 虚拟环境位置

# 创建虚拟环境到指定位置
python -m venv /path/to/custom/location/.venv

# 使用 --system-site-packages 包含系统包
python -m venv .venv --system-site-packages
1
2
3
4
5

# 删除虚拟环境

# 直接删除虚拟环境目录
rm -rf .venv

# Windows
rmdir /s .venv
1
2
3
4
5

# 常见问题解决

# 权限问题

# macOS/Linux 权限错误
chmod +x .venv/bin/activate

# Windows PowerShell 执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
1
2
3
4
5

# 路径问题

# 检查虚拟环境是否正确创建
ls -la .venv/bin/python

# 重新创建虚拟环境
rm -rf .venv
python -m venv .venv
1
2
3
4
5
6

# 包安装问题

# 使用国内镜像源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ package_name

# 离线安装
pip download package_name -d ./packages
pip install --no-index --find-links ./packages package_name
1
2
3
4
5
6

# IDE 集成

# VS Code 配置

// .vscode/settings.json
{
    "python.defaultInterpreterPath": "./.venv/bin/python",
    "python.terminal.activateEnvironment": true
}
1
2
3
4
5

# PyCharm 配置

  1. 打开 File → Settings → Project → Python Interpreter
  2. 选择 "Add Interpreter" → "Existing Environment"
  3. 选择虚拟环境中的 Python 解释器路径

# 项目示例

# 完整的项目设置流程

# 1. 创建项目目录
mkdir my_project
cd my_project

# 2. 创建虚拟环境
python -m venv .venv

# 3. 激活虚拟环境
source .venv/bin/activate  # Linux/Mac
# 或
.venv\Scripts\activate     # Windows

# 4. 升级 pip
pip install --upgrade pip

# 5. 安装项目依赖
pip install flask requests pytest

# 6. 导出依赖列表
pip freeze > requirements.txt

# 7. 创建 .gitignore
echo ".venv/" >> .gitignore
echo "__pycache__/" >> .gitignore
echo "*.pyc" >> .gitignore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 团队协作

# 新团队成员克隆项目后
git clone <repository_url>
cd my_project

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境
source .venv/bin/activate

# 安装依赖
pip install -r requirements.txt
1
2
3
4
5
6
7
8
9
10
11
12

# 最佳实践总结

  1. 命名规范:使用 .venv 作为虚拟环境目录名
  2. 版本控制:将虚拟环境目录添加到 .gitignore
  3. 依赖管理:使用 requirements.txt 管理依赖
  4. 环境隔离:为每个项目创建独立的虚拟环境
  5. 定期更新:定期更新包以修复安全漏洞
  6. 文档记录:在 README 中说明如何设置虚拟环境

# 相关工具

  • pip-tools:高级依赖管理工具
  • poetry:现代 Python 包管理工具
  • conda:Anaconda 环境管理工具
  • pyenv:Python 版本管理工具

# 参考链接

  • Python 官方文档 - venv (opens new window)
  • pip 官方文档 (opens new window)
  • Python 虚拟环境最佳实践 (opens new window)
#Python#虚拟环境#venv#环境管理
上次更新: 2025/10/09, 21:06:25
pytorch
python 调试工具embed

← pytorch python 调试工具embed→

最近更新
01
npx 使用指南
10-12
02
cursor
09-28
03
inspect
07-20
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式