当前位置: 首页 > article >正文

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
    
    • 这里的 venv 是虚拟环境的文件夹名称,你可以根据需要修改(例如 env.venv 等)。
  4. 激活虚拟环境:
    • Windows:
      venv\Scripts\activate
      
    • macOS/Linux:
      source venv/bin/activate
      
  5. 激活后,终端提示符会显示虚拟环境名称,例如:
    (venv) $
    
  6. 安装项目依赖:
    pip install -r requirements.txt
    
  7. 退出虚拟环境:
    deactivate
    

2. 使用 virtualenv 创建虚拟环境

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

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

3. 使用 conda 创建虚拟环境

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

步骤:
  1. 打开终端(命令行)。
  2. 创建虚拟环境:
    conda create --name myenv python=3.x
    
    • myenv 是虚拟环境的名称,可以自定义。
    • python=3.x 指定 Python 版本(例如 python=3.9)。
  3. 激活虚拟环境:
    conda activate myenv
    
  4. 安装项目依赖:
    pip install -r requirements.txt
    
  5. 退出虚拟环境:
    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 项目中轻松创建和管理虚拟环境,确保项目的依赖隔离和可复现性。


http://www.kler.cn/a/540415.html

相关文章:

  • 一文学会:用DeepSeek R1/V3 + AnythingLLM + Ollama 打造本地化部署的个人/企业知识库,无须担心数据上传云端的泄露问题
  • STM32G474--Whetstone程序移植(单精度)笔记
  • .net一些知识点5
  • 利用 Python 爬虫获取按关键字搜索淘宝商品的完整指南
  • 并查集题目
  • 【异常解决】在idea中提示 hutool 提示 HttpResponse used withoud try-with-resources statement
  • JAVA 学习路线 学习大纲(java 进阶路线)
  • 利用子问题思路解决二叉树相关Oj题
  • 基于蜘蛛蜂优化算法的无人机集群三维路径规划Matlab实现
  • 力扣 单词拆分
  • 【网络安全.渗透测试】Cobalt strike(CS)工具使用说明
  • 测试某操作系统通过dd和UltraISO两种方式安装服务器(ARM)
  • 利用二分法进行 SQL 时间盲注
  • 科研工作中如何高效利用LabVIEW
  • C#语言的云计算
  • shell脚本控制——使用新的shell启动脚本
  • DFS+回溯+剪枝(深度优先搜索)——搜索算法
  • 保姆级教程Docker部署Zookeeper模式的Kafka镜像
  • 服务的端口号大全(Complete List of Service Port Numbers)
  • 使用 AlexNet 实现图片分类 | PyTorch 深度学习实战
  • Elasticsearch:在 Elastic 中玩转 DeepSeek R1 来实现 RAG 应用
  • 2025年前端面试题~ 【前端面试】更新
  • 单张照片可生成写实3D头部模型!Adobe提出FaceLift,从单一的人脸图像中重建出360度的头部模型。
  • 【大模型】本地部署DeepSeek-R1:8b大模型及搭建Open-WebUI交互页面
  • 高级加密标准AES候选算法之一CAST-256
  • 驱动开发系列36 - Linux Graphics 2D 绘制流程