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

Python 虚拟环境深入浅出全指南

在日常 Python 开发中,如果你碰到过这些问题:

  • 同一个项目需要不同版本的库;
  • 安装了某个库后,另一个项目报错了;
  • 想重装 Python,又怕破坏系统环境……

那你就该了解一下——虚拟环境(Virtual Environment)

虚拟环境可以让每个项目用上独立的 Python 和依赖版本,互不干扰,干净整洁,非常重要。

参考文章:

Python 虚拟环境 | 简单一点学习

Anaconda 安装与使用指南 | 简单一点学习


目录

  1. 什么是 Python 虚拟环境
  2. 为什么要使用虚拟环境
  3. venv:Python 官方推荐
  4. virtualenv:更灵活的替代方案
  5. virtualenvwrapper:管理多个虚拟环境的利器
  6. conda:不仅是虚拟环境,还是包管理器
  7. pip:配合虚拟环境的依赖管理
  8. requirements.txt:保存项目依赖的法宝
  9. 推荐使用场景与总结

1. 什么是 Python 虚拟环境

Python 虚拟环境就是一个独立的 Python 运行环境,有它自己的解释器、pip 和依赖包目录。你可以把它理解成“隔离的 Python 小黑屋”。

用虚拟环境创建的项目,不会污染全局 Python 环境,也不会互相影响。


2. 为什么要使用虚拟环境

  • 避免包冲突:不同项目可以使用不同版本的依赖库。
  • 版本控制:升级或降级某个库不影响其他项目。
  • 跨平台兼容:开发和部署环境可以做到一致。
  • 项目结构清晰:用 requirements.txt 可以快速复制环境。

3. venv:Python 自带的虚拟环境工具

从 Python 3.3 开始,Python 官方就自带了 venv 模块,够用、轻量。

创建虚拟环境

python3 -m venv myenv

myenv 是你自定义的虚拟环境目录名。

激活虚拟环境

  • macOS/Linux:

    source myenv/bin/activate
    
  • Windows:

    myenv\Scripts\activate
    

激活后命令行前面会多一个 (myenv),表示你进入了虚拟环境。

在虚拟环境中,你再执行 python 命令就是完全隔离的 解释器了。

退出虚拟环境

deactivate

4. virtualenv:适配更多版本的老牌选手

virtualenv 是比 venv 更老、更强大的第三方工具,支持 Python2 和 Python3,功能丰富。

安装 virtualenv

pip install virtualenv

创建虚拟环境

virtualenv venv-name

你还可以指定 Python 版本:

virtualenv -p /usr/bin/python3.11 venv-name

激活/退出方式和 venv 一样。


5. virtualenvwrapper:虚拟环境管理利器(推荐给重度用户)

管理多个虚拟环境很痛苦?virtualenvwrapper 就是为此而生的。

安装

pip install virtualenvwrapper

配置(加到 shell 配置文件里)

export WORKON_HOME=$HOME/.virtualenvs
source $(which virtualenvwrapper.sh)

常用命令

  • mkvirtualenv myenv:创建环境并自动进入
  • workon myenv:进入某个环境
  • deactivate:退出当前环境
  • rmvirtualenv myenv:删除环境
  • lsvirtualenv:列出所有虚拟环境

它能自动管理虚拟环境的存储位置和激活逻辑,省心!


6. conda:数据科学界常用

conda 是 Anaconda 或 Miniconda 提供的环境与包管理器,尤其适合科学计算、机器学习。

创建 conda 虚拟环境

conda create -n myenv python=3.11

激活 / 退出环境

conda activate myenv
conda deactivate

安装包

conda install numpy pandas

与 pip 混合使用

你也可以在 conda 环境中用 pip 安装:

pip install requests

7. pip:虚拟环境安装包

pip 是 Python 的官方包管理工具,通常虚拟环境创建后都会自带它,每个pip都有对应的 python 虚拟环境解释器。

安装包

pip install flask

查看已安装包

pip list

卸载包

pip uninstall flask

8. requirements.txt:依赖管理神器

虚拟环境配好了,怎么交给别人用呢?答案是:导出依赖文件。

导出依赖

pip freeze > requirements.txt

安装依赖

pip install -r requirements.txt

别人用这份文件,就能和你拥有一模一样的环境。


9. 推荐使用场景与总结

场景推荐工具
简单脚本、轻量项目venv
兼容多版本、需要定制 Python 路径virtualenv
管理多个环境、懒得记路径virtualenvwrapper
科学计算、机器学习conda
安装 Python 包pip
项目部署、迁移requirements.txt

🧠 总结一下

  • 虚拟环境是 Python 项目的必备技能;
  • venv 简单直接,够用就行;
  • virtualenv + virtualenvwrapper 适合多项目党;
  • conda 适合搞 AI/数据分析的;
  • pip + requirements.txt 是最佳搭档。

✅ 开发示例

python3 -m venv myenv
source myenv/bin/activate
pip install flask
pip freeze > requirements.txt
http://www.dtcms.com/a/314915.html

相关文章:

  • 为流媒体时代而生的云服务:Akamai 推出 Accelerated Compute 加速计算服务
  • 在 Maven 多模块项目中统一管理配置文件
  • 8.4 Java Web(Maven P50-P57)
  • 【web应用】为什么 子模块已经删除,但 Maven 依赖项仍然报错?
  • python采集拍立淘按图搜索API接口,json数据参考
  • maven install和package的区别
  • AI绘图-Stable Diffusion-WebUI的基本用法
  • 安卓开发--ConstraintLayout(约束布局)
  • 5天挑战网络编程 -DAY1(linux版)
  • 二十年代深度立体匹配的进化与前沿综述
  • 咖啡参考基因组
  • 机器学习 入门——决策树分类
  • FreeRTOS源码分析四:时钟中断处理响应流程
  • 倒排索引:Elasticsearch 搜索背后的底层原理
  • 【C#】Blazor基本应用
  • ICCV2025 Tracking相关paper汇总和解读(19篇)
  • Matlab(2)
  • Maven配置,Idea集成Maven_依赖引入,Idea生成单元测试
  • 《AI Agent工程师(初级)》
  • ubuntu24.01安装odoo18
  • gdb print设置技巧,离线查看复杂结构体和数组变量内容,展开多层嵌套的结构体的方法
  • 【Docker安装】Ubuntu 24.04.2 LTS系统下安装Docker环境——指定APT源安装方式
  • C + +
  • 宝塔运维实战:CentOs7启动PHP7.4失败
  • 华为OD机考2025C卷 - 最小矩阵宽度(Java Python JS C++ C )
  • Linux下PXE服务器搭建
  • 嵌入式数据结构笔记(二):内存工具与链表操作
  • QT 如何实现enum与字符串的互转
  • Java基础学习(一):类名规范、返回值、注释、数据类型
  • 【QT】安装与配置