Python环境​下,虚拟环境(Virtual Environment)的创建步骤及每个步骤的意义

虚拟环境(Virtual Environment)的创建步骤及每个步骤的意义

在 Python 开发中,虚拟环境(venv)用于隔离不同项目的依赖,避免全局污染。以下是详细步骤及其作用:


1. 检查 Python 版本

命令

bash
复制
python3 --version

作用

  • 确保系统已安装 Python 3.6+(Flask 最低要求)。
  • 如果未安装 Python 3,需先安装:
    bash
    复制
    sudo apt update && sudo apt install python3 python3-pip  # Ubuntu/Debian
    sudo yum install python3 python3-pip                    # CentOS/RHEL

2. 安装 virtualenv(可选)​

命令

bash
复制
pip install virtualenv

作用

  • virtualenv 是更强大的虚拟环境管理工具(比内置 venv 功能更多)。
  • Python 3.3+ 已内置 venv 模块,可直接使用,无需额外安装。

3. 创建虚拟环境

命令

bash
复制
python3 -m venv myenv

参数说明

  • myenv:虚拟环境目录名(可自定义,如 venv.venv)。
  • -m venv:调用 Python 内置的 venv 模块。

作用

  • 在项目目录下生成一个隔离的 Python 环境。
  • 目录结构示例:
    markdown
    复制
    myenv/
    ├── bin/       # Linux/Mac 的可执行文件(如 python、pip)
    ├── Scripts/   # Windows 的可执行文件
    ├── lib/       # 安装的依赖包
    └── pyvenv.cfg # 虚拟环境配置

4. 激活虚拟环境

Linux/Mac

bash
复制
source myenv/bin/activate

Windows

cmd
复制
myenv\Scripts\activate

作用

  • 激活后,终端提示符会显示虚拟环境名(如 (myenv) $)。
  • 此时所有 pip 安装的包仅作用于当前虚拟环境,​不会污染全局

验证是否激活

bash
复制
which python  # 应指向虚拟环境内的 Python
which pip     # 应指向虚拟环境内的 pip

5. 安装项目依赖

命令

bash
复制
pip install flask

作用

  • 所有通过 pip 安装的包(如 flasknumpy)仅存储在 myenv/lib/ 下。
  • 全局 Python 环境不受影响。

6. 生成依赖列表(便于协作/部署)​

命令

bash
复制
pip freeze > requirements.txt

作用

  • 将当前虚拟环境的所有依赖及其版本写入 requirements.txt
  • 其他人或生产服务器可通过以下命令复现相同环境:
    bash
    复制
    pip install -r requirements.txt

7. 退出虚拟环境

命令

bash
复制
deactivate

作用

  • 退出虚拟环境,恢复全局 Python 环境。
  • 后续操作(如 pip install)将影响全局。

8. 删除虚拟环境(可选)​

命令

bash
复制
rm -rf myenv  # Linux/Mac
rd /s /q myenv # Windows

作用

  • 彻底清理虚拟环境(适用于项目废弃或重建环境)。

关键步骤的意义总结

步骤意义
python3 -m venv 创建隔离的 Python 环境,避免依赖冲突。
source activate 切换当前 Shell 到虚拟环境,确保后续操作(如 pip)仅影响当前项目。
pip freeze 记录依赖版本,便于团队协作或部署。
deactivate 退出虚拟环境,避免误操作全局 Python。

虚拟环境 vs 全局环境

场景虚拟环境全局环境
pip install flask 仅安装在 myenv/lib/ 下 安装在系统 Python 目录
影响范围 仅当前项目 所有项目
安全性 高(隔离依赖) 低(可能破坏系统工具依赖)

最佳实践

  1. 每个项目单独使用一个虚拟环境
  2. ​**不要用 sudo pip**​(避免污染系统 Python)。
  3.  venv/ 或 .venv/ 添加到 .gitignore(不提交虚拟环境到 Git)。

通过虚拟环境,你可以确保 Flask 项目的依赖干净、可复现,且不会干扰其他项目或系统!

posted @   孙猴子  阅读(45)  评论(0)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示