Python 项目中创建虚拟环境(Virtual Environment)

在 Python 项目中创建虚拟环境(Virtual Environment)是一个很好的实践,可以帮助你隔离项目依赖,避免不同项目之间的依赖冲突。以下是创建虚拟环境的详细步骤:


1. 使用 venv 创建虚拟环境

venv 是 Python 自带的虚拟环境管理工具,适用于 Python 3.3 及以上版本。

步骤:
  1. 打开终端(命令行)。
  2. 导航到你的项目目录:
    cd /path/to/your/project
    
  3. 创建虚拟环境:
    python -m venv venv
    
  4. 这里的 venv 是虚拟环境的文件夹名称,你可以根据需要修改(例如 env.venv 等)。
  5. 激活虚拟环境:
  6. Windows:
    venv\Scripts\activate
    
  7. macOS/Linux:
    source venv/bin/activate
    
  8. 激活后,终端提示符会显示虚拟环境名称,例如:
    (venv) $
    
  9. 安装项目依赖:
    pip install -r requirements.txt
    
  10. 退出虚拟环境:
    deactivate
    

2. 使用 virtualenv 创建虚拟环境

virtualenv 是一个第三方工具,功能比 venv 更强大,支持 Python 2 和 Python 3。

步骤:
  1. 安装 virtualenv
    pip install virtualenv
    
  2. 导航到你的项目目录:
    cd /path/to/your/project
    
  3. 创建虚拟环境:
    virtualenv venv
    
  4. 这里的 venv 是虚拟环境的文件夹名称,可以自定义。
  5. 激活虚拟环境:
  6. Windows:
    venv\Scripts\activate
    
  7. macOS/Linux:
    source venv/bin/activate
    
  8. 安装项目依赖:
    pip install -r requirements.txt
    
  9. 退出虚拟环境:
    deactivate
    

3. 使用 conda 创建虚拟环境

如果你使用的是 Anaconda 或 Miniconda,可以使用 conda 创建虚拟环境。

步骤:
  1. 打开终端(命令行)。
  2. 创建虚拟环境:
    conda create --name myenv python=3.x
    
  3. myenv 是虚拟环境的名称,可以自定义。
  4. python=3.x 指定 Python 版本(例如 python=3.9)。
  5. 激活虚拟环境:
    conda activate myenv
    
  6. 安装项目依赖:
    pip install -r requirements.txt
    
  7. 退出虚拟环境:
    conda deactivate
    

4. 虚拟环境的常用命令

  • 查看已安装的包
    pip list
    
  • 导出依赖
    pip freeze > requirements.txt
    
  • 安装依赖
    pip install -r requirements.txt
    
  • 删除虚拟环境
    直接删除虚拟环境的文件夹即可:
    rm -rf venv  # macOS/Linux
    rmdir /s /q venv  # Windows
    

  • 5. 虚拟环境的最佳实践

  • 将虚拟环境文件夹添加到 .gitignore
    避免将虚拟环境文件夹提交到版本控制系统(如 Git)。在 .gitignore 文件中添加:
    venv/
    .venv/
    env/
    
  • 使用 requirements.txt 管理依赖
    在项目中维护一个 requirements.txt 文件,记录所有依赖包及其版本。
  • 定期更新依赖
    使用 pip install --upgrade 更新依赖包,确保项目使用最新的安全版本。

  • 通过以上步骤,你可以在 Python 项目中轻松创建和管理虚拟环境,确保项目的依赖隔离和可复现性。

    作者:Covirtue

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python 项目中创建虚拟环境(Virtual Environment)

    发表回复