Python模块:虚拟环境venv创建与隔离项目依赖
Python模块虚拟环境venv创建与隔离项目依赖一、开篇每个项目一个干净的房间想象你有两个项目项目A需要Django 3.2项目B需要Django 4.2。如果你把所有包都装在全局Python环境中两个项目就会打架——这就是依赖冲突。⌨️ 虚拟环境解决了这个问题# 不用虚拟环境全局安装# pip install django3.2 # 项目A需要# pip install django4.2 # 项目B需要——冲突# ✅ 用虚拟环境各自独立# 项目A有自己的虚拟环境——里面装Django 3.2# 项目B有自己的虚拟环境——里面装Django 4.2# 互不干扰 虚拟环境是Python项目的标配。它给每个项目一个干净的房间——隔离的Python解释器和pip包。venv是Python 3.3内置的虚拟环境工具不需要安装任何额外的包。二、创建和使用虚拟环境2.1 基本操作流程# Windows # 1. 创建虚拟环境在项目目录下cdmy_project python-mvenv venv# 这会在当前目录创建venv文件夹# 2. 激活虚拟环境venv\Scripts\activate# 激活后终端前面会显示 (venv)# 3. 确认使用的是虚拟环境中的Pythonwhere python# Windows# 应该显示 venv\Scripts\python.exe# 4. 安装依赖pipinstallrequests flask# 5. 导出依赖pip freezerequirements.txt# 6. 退出虚拟环境deactivate# Linux/Mac # python3 -m venv venv# source venv/bin/activate# deactivate2.2 虚拟环境的目录结构my_project/ ├── venv/ # 虚拟环境目录一般加入.gitignore │ ├── Scripts/ # (Windows) Python解释器、pip、activate │ │ ├── python.exe │ │ ├── pip.exe │ │ └── activate │ ├── bin/ # (Linux/Mac) 同上 │ ├── Lib/ # 安装的包 │ │ └── site-packages/ │ └── pyvenv.cfg # 配置文件 ├── src/ # 源代码 ├── requirements.txt # 依赖列表 └── README.md2.3 venv的常用参数# 创建虚拟环境时可以指定选项# 指定Python版本需要系统中已安装python3.11-mvenv venv# 不安装pip精简环境python-mvenv venv --without-pip# 系统site-packages对虚拟环境可见python-mvenv venv --system-site-packages# 创建前清空目标目录python-mvenv venv--clear# 升级虚拟环境中的核心依赖pip, setuptoolspython-mvenv venv --upgrade-deps三、IDE集成3.1 VS Code中使用虚拟环境# VS Code会自动检测项目中的虚拟环境# 1. 创建虚拟环境python-mvenv venv# 2. VS Code中按 CtrlShiftP# 输入 Python: Select Interpreter# 选择 venv/Scripts/python.exeWindows# 或 venv/bin/pythonLinux/Mac# 3. 新终端自动激活# VS Code打开新终端时会自动执行 activate# 4. settings.json中设置默认虚拟环境路径{python.venvPath:venv,python.terminal.activateEnvironment:true}3.2 PyCharm中使用虚拟环境# PyCharm创建项目时可以选择使用虚拟环境# 如果项目已有venv# File → Settings → Project → Python Interpreter# 齿轮图标 → Add → Existing environment# 选择 venv/Scripts/python.exe四、最佳实践4.1 虚拟环境管理# ✅ 习惯一每个项目一个虚拟环境# 不要多个项目共享一个虚拟环境# ✅ 习惯二虚拟环境目录命名为 venv 或 .venv# 统一命名团队成员一看就知道# ✅ 习惯三虚拟环境目录加入.gitignore# echo venv/ .gitignore# echo .venv/ .gitignore# 不在git中提交虚拟环境# ✅ 习惯四维护requirements.txt# 每次安装新包后更新pip freezerequirements.txt# ✅ 习惯五README中说明环境搭建步骤## 环境搭建python-mvenv venv# Windows:venv\\Scripts\\activate# Linux/Mac:sourcevenv/bin/activate pipinstall-rrequirements.txt4.2 完整的项目初始化流程# 1. 创建项目目录mkdirmy_new_projectcdmy_new_project# 2. 初始化gitgitinit# 3. 创建虚拟环境python-mvenv venv# 4. 激活虚拟环境# Windows: venv\Scripts\activate# Linux/Mac: source venv/bin/activate# 5. 升级pippython-mpipinstall--upgradepip# 6. 安装依赖pipinstallflask sqlalchemy# 7. 导出依赖pip freezerequirements.txt# 8. 创建.gitignoreechovenv/.gitignoreecho__pycache__/.gitignoreecho*.pyc.gitignoreecho.env.gitignore# 9. 初始化项目代码mkdirsrc# 开始写代码...五、其他虚拟环境工具# virtualenv —— venv的前身更多功能# pip install virtualenv# virtualenv venv# pipenv —— Pipfile 虚拟环境# pip install pipenv# pipenv install requests # 自动创建/管理虚拟环境# poetry —— 现代化的依赖管理# pip install poetry# poetry init# poetry add requests# conda —— Anaconda生态适合数据科学# conda create -n myenv python3.11# 选型建议# 日常开发 → venv内置够用# 复杂依赖管理 → poetry# 数据科学 → conda# 简单项目 → venv六、总结虚拟环境是Python项目开发的基本功。它让每个项目拥有独立的Python环境从根本上避免依赖冲突。核心要点创建python -m venv venv激活Windows用venv\Scripts\activateLinux/Mac用source venv/bin/activate退出deactivate导出依赖pip freeze requirements.txt虚拟环境不提交到git——加入.gitignore✅一句话开始任何Python项目的第一步——创建虚拟环境。这是专业开发者的肌肉记忆。

相关新闻

Python模块:pip包管理工具的安装与使用全指南

Python模块:pip包管理工具的安装与使用全指南

Python模块:pip包管理工具的安装与使用全指南一、开篇:Python的"应用商店" pip是Python的官方包管理工具——相当于手机上的"应用商店"。Python之所以拥有20万第三方库的生态,很大程度上归功于pip的便利。Python 3.4自带…

2026/8/2 22:52:06阅读更多 →
Python模块:内置模块functools函数工具详解

Python模块:内置模块functools函数工具详解

Python模块:内置模块functools函数工具详解一、开篇:高阶函数的工具箱 functools模块提供了处理函数和可调用对象的高阶工具。从缓存优化到偏函数,从包装保留到函数重载——它是写出优雅Python代码的秘密武器。 ⌨️ 核心功能: fr…

2026/8/2 22:52:06阅读更多 →
Django多表全文搜索实战:Haystack+Jieba+Whoosh集成与API设计

Django多表全文搜索实战:Haystack+Jieba+Whoosh集成与API设计

1. 项目概述与核心痛点最近在重构一个老旧的内部管理系统,后端用的是Django 2.2.7,前端是Vue,典型的分离架构。其中一个核心需求是全文搜索,涉及多个模型表,比如文章、用户、产品信息。技术栈选型上,我沿用…

2026/8/2 22:50:05阅读更多 →
DeepTutor:重新定义AI个性化学习,从单向问答到智能辅导伙伴

DeepTutor:重新定义AI个性化学习,从单向问答到智能辅导伙伴

DeepTutor:重新定义AI个性化学习,从单向问答到智能辅导伙伴 【免费下载链接】DeepTutor DeepTutor: Lifelong Personalized Tutoring. https://deeptutor.info/. 项目地址: https://gitcode.com/GitHub_Trending/dee/DeepTutor 你是否曾遇到过这样…

2026/8/3 1:13:04阅读更多 →
ArcGIS地图矢量化全流程:从配准、数字化到拓扑检查

ArcGIS地图矢量化全流程:从配准、数字化到拓扑检查

1. 项目概述:从一张“图片”到可分析的“数据”地图矢量化,听起来是个挺专业的词,但说白了,就是把一张普通的、像照片一样的地图图片,变成电脑能识别、能分析、能计算的“智能”地图。你手里可能有一张扫描的纸质地形图…

2026/8/3 1:13:04阅读更多 →
Tenstorrent HC1芯片:ASIC如何挑战英伟达,重塑AI推理市场格局

Tenstorrent HC1芯片:ASIC如何挑战英伟达,重塑AI推理市场格局

1. 项目概述:一场瞄准AI推理的“精准狙击”最近在芯片圈和AI圈,一个消息炸开了锅:一支由24位前AMD顶级工程师组成的“梦之队”,成立了一家名为Tenstorrent的新公司,并推出了一款代号为“HC1”的AI推理芯片。他们喊出的…

2026/8/3 1:13:04阅读更多 →
图像处理八大核心算法:从原理到OpenCV实战全解析

图像处理八大核心算法:从原理到OpenCV实战全解析

1. 项目概述:为什么你需要掌握这八大图像处理算法?图像处理,听起来像是一个高深莫测、专属于计算机视觉工程师的领域。但事实上,无论你是想用Python给照片批量调色、用OpenCV做个简单的车牌识别Demo,还是想深入理解AI模…

2026/8/3 1:13:04阅读更多 →
算法可解释性+实时特征工程+业务闭环验证,打造银行/互联网/制造三行业高适配流失预警模型

算法可解释性+实时特征工程+业务闭环验证,打造银行/互联网/制造三行业高适配流失预警模型

更多请点击: https://codechina.net 第一章:AI 流失预警模型的演进逻辑与跨行业共性挑战 AI 流失预警模型已从早期基于规则和统计阈值的静态系统,逐步演进为融合时序建模、图神经网络与多源异构数据联合推理的动态决策引擎。这一演进并非单纯…

2026/8/3 1:13:04阅读更多 →
3步解锁Unity游戏中文翻译:XUnity Auto Translator终极使用指南

3步解锁Unity游戏中文翻译:XUnity Auto Translator终极使用指南

3步解锁Unity游戏中文翻译:XUnity Auto Translator终极使用指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾经因为语言障碍而错过优秀的Unity游戏?面对日语、英语或其…

2026/8/3 1:11:04阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 0:29:53阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/3 0:33:53阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/3 0:20:37阅读更多 →
3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:32阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/2 1:29:34阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/2 2:32:55阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/2 2:09:20阅读更多 →