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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值