文章目录
- 不仅仅是 Python:可以管理其他语言和工具的依赖 预编译包:许多科学计算包有预编译版本,安装速度快 环境隔离彻底:包括系统库级别的隔离
- # 安装 Miniconda(轻量版)或 Anaconda(完整版)# 下载地址:https://docs.conda.io/en/latest/miniconda.html
- # 创建环境(默认使用 conda 源) conda create -n myenv python=3.9 # 创建环境并指定包 conda create -n myenv python=3.9 numpy pandas # 激活环境 conda activate myenv # Windows/Linux/macOS # 退出环境 conda deactivate # 列出所有环境 conda env list # 删除环境 conda remove -n myenv –all # 导出环境配置 conda env export > environment.yml # 从配置创建环境 conda env create -f environment.yml
- 处理复杂依赖关系能力强 支持非 Python 包(如 R、C++库) 二进制包安装,减少编译问题 跨平台一致性较好
- 环境体积较大 社区版可能有些包更新不及时
- # macOS brew install pyenv pyenv-virtualenv # Linux git clone https://github.com/pyenv/pyenv.git ~/.pyenv git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
- export PYENV_ROOT=”$HOME/.pyenv” export PATH=”$PYENV_ROOT/bin:$PATH” eval “$(pyenv init –path)” eval “$(pyenv init -)” eval “$(pyenv virtualenv-init -)”
- # 安装指定 Python 版本 pyenv install 3.9.13 # 列出已安装版本 pyenv versions # 创建虚拟环境(基于特定 Python 版本) pyenv virtualenv 3.9.13 myproject-3.9 # 激活环境 pyenv activate myproject-3.9 # 退出环境 pyenv deactivate # 设置项目本地环境(进入目录自动激活) cd myproject pyenv local myproject-3.9 # 删除环境 pyenv uninstall myproject-3.9
- 完美解决多版本 Python 共存问题 项目级自动激活很方便 轻量级,只管理 Python 环境
- 需要额外配置 只管理 Python,不处理其他依赖
- 标准库自带:无需额外安装 轻量简单:功能专一 Python 官方推荐
- # 创建虚拟环境 python -m venv myenv # 或指定 Python 版本 python3.9 -m venv myenv # 激活环境 # Windows: myenvScriptsactivate # Linux/macOS: source myenv/bin/activate # 退出环境 deactivate # 创建带系统 site-packages 的环境(可访问系统包) python -m venv –system-site-packages myenv # 升级 pip 等工具 python -m venv –upgrade myenv
- myenv/ ├── bin/ (或 Scripts/ 在 Windows) │ ├── activate │ ├── pip │ ├── python │ └── … ├── lib/ │ └── python3.9/site-packages/ └── pyvenv.cfg
- 无需安装,Python 自带 简单易用,学习成本低 官方维护,兼容性好
- 不能管理 Python 版本本身 功能相对简单
- # 安装 pip install virtualenv # 使用 virtualenv myenv source myenv/bin/activate
- 结合了 pip 和虚拟环境管理 # 安装 pip install pipenv # 使用 cd myproject pipenv –python 3.9 # 创建环境 pipenv install requests # 安装包 pipenv shell # 激活环境 pipenv lock # 生成锁文件
- 现代 Python 包管理和依赖管理 # 安装 pip install poetry # 使用 poetry new myproject # 创建新项目 poetry install # 安装依赖 poetry add requests # 添加包 poetry shell # 激活环境
目录
- 1.conda
- 特点:
- 安装:
- 使用方法:
- 优点:
- 缺点:
- 2.pyenv + pyenv-virtualenv
- 安装:
- 配置 Shell(~/.bashrc 或 ~/.zshrc):
- 使用方法:
- 优点:
- 缺点:
- 3.venv(Python 内置)
- 特点:
- 使用方法:
- 文件结构:
- 优点:
- 缺点:
- 其他插件/工具
- virtualenv(第三方,venv 的前身)
- pipenv
- Poetry
- 对比与选择建议
- 推荐选择:
在 Python 开发中,主要有三种创建虚拟环境的方式,它们各有特点和适用场景。下面为你详细介绍每种方式:
Conda 是一个跨平台的包管理器和环境管理器,由 Anaconda 发行版引入。
- 不仅仅是 Python:可以管理其他语言和工具的依赖
- 预编译包:许多科学计算包有预编译版本,安装速度快
- 环境隔离彻底:包括系统库级别的隔离
# 安装 Miniconda(轻量版)或 Anaconda(完整版)
# 下载地址:https://docs.conda.io/en/latest/miniconda.html
# 安装 Miniconda(轻量版)或 Anaconda(完整版)
# 下载地址:https://docs.conda.io/en/latest/miniconda.html
# 创建环境(默认使用 conda 源)
conda create -n myenv python=3.9
# 创建环境并指定包
conda create -n myenv python=3.9 numpy pandas
# 激活环境
conda activate myenv # Windows/Linux/macOS
# 退出环境
conda deactivate
# 列出所有环境
conda env list
# 删除环境
conda remove -n myenv --all
# 导出环境配置
conda env export > environment.yml
# 从配置创建环境
conda env create -f environment.yml
- 处理复杂依赖关系能力强
- 支持非 Python 包(如 R、C++库)
- 二进制包安装,减少编译问题
- 跨平台一致性较好
- 环境体积较大
- 社区版可能有些包更新不及时
这是两个工具的组合:
- pyenv:管理多个 Python 版本
- pyenv-virtualenv:为不同项目创建虚拟环境
# macOS
brew install pyenv pyenv-virtualenv
# Linux
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
# 安装指定 Python 版本
pyenv install 3.9.13
# 列出已安装版本
pyenv versions
# 创建虚拟环境(基于特定 Python 版本)
pyenv virtualenv 3.9.13 myproject-3.9
# 激活环境
pyenv activate myproject-3.9
# 退出环境
pyenv deactivate
# 设置项目本地环境(进入目录自动激活)
cd myproject
pyenv local myproject-3.9
# 删除环境
pyenv uninstall myproject-3.9
- 完美解决多版本 Python 共存问题
- 项目级自动激活很方便
- 轻量级,只管理 Python 环境
- 需要额外配置
- 只管理 Python,不处理其他依赖
Python 3.3+ 内置的虚拟环境工具,无需额外安装。
- 标准库自带:无需额外安装
- 轻量简单:功能专一
- Python 官方推荐
# 创建虚拟环境
python -m venv myenv
# 或指定 Python 版本
python3.9 -m venv myenv
# 激活环境
# Windows:
myenvScriptsactivate
# Linux/macOS:
source myenv/bin/activate
# 退出环境
deactivate
# 创建带系统 site-packages 的环境(可访问系统包)
python -m venv --system-site-packages myenv
# 升级 pip 等工具
python -m venv --upgrade myenv
myenv/
├── bin/ (或 Scripts/ 在 Windows)
│ ├── activate
│ ├── pip
│ ├── python
│ └── ...
├── lib/
│ └── python3.9/site-packages/
└── pyvenv.cfg
- 无需安装,Python 自带
- 简单易用,学习成本低
- 官方维护,兼容性好
- 不能管理 Python 版本本身
- 功能相对简单
# 安装
pip install virtualenv
# 使用
virtualenv myenv
source myenv/bin/activate
结合了 pip 和虚拟环境管理
# 安装 pip install pipenv # 使用 cd myproject pipenv --python 3.9 # 创建环境 pipenv install requests # 安装包 pipenv shell # 激活环境 pipenv lock # 生成锁文件
现代 Python 包管理和依赖管理
# 安装 pip install poetry # 使用 poetry new myproject # 创建新项目 poetry install # 安装依赖 poetry add requests # 添加包 poetry shell # 激活环境
| 工具 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| conda | 数据科学、机器学习、需要非Python依赖 | 依赖管理强大,预编译包多 | 体积大,有些包更新慢 |
| pyenv+virtualenv | 多版本Python开发,项目隔离 | Python版本管理优秀,轻量 | 需要配置,只管理Python |
| venv | 简单Python项目,标准开发 | 内置无需安装,简单直接 | 不能管理Python版本 |
| pipenv/Poetry | 现代化项目管理,依赖锁定 | 依赖管理先进,整合性好 | 学习曲线稍陡 |
- 初学者/简单项目:使用
venv,简单够用
- 数据科学/AI项目:使用
conda,依赖管理方便
- Web开发/多版本项目:使用
pyenv + virtualenv 或 Poetry
- 团队协作项目:考虑
Poetry 或 pipenv,有 lock 文件保证一致性
venv,简单够用conda,依赖管理方便pyenv + virtualenv 或 PoetryPoetry 或 pipenv,有 lock 文件保证一致性每种工具都可以配合使用,比如用 pyenv 管理 Python 版本,用 venv 创建虚拟环境。选择最适合你工作流的方式即可。
到此这篇关于python创建虚拟环境的3种方式的文章就介绍到这了,更多相关python创建虚拟环境内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
您可能感兴趣的文章:
- Python自带的venv模块创建虚拟环境全流程
- python创建虚拟环境的常用命令与使用
- python中虚拟环境创建的主流方式详细操作指南
- Python中conda虚拟环境创建及使用小结
- Python虚拟环境创建和使用方法(使用自带的venv模块)
- python虚拟环境多种创建方式图文详解
- Python使用virtualenv创建虚拟环境的详细步骤
- 使用Anaconda创建Python指定版本的虚拟环境的教程详解