目录
-
- 一、Miniforge
-
- [✅ 简介](#✅ 简介)
- [🧩 核心功能](#🧩 核心功能)
- [🔧 安装方式](#🔧 安装方式)
- [💡 常用命令](#💡 常用命令)
- 二、pyenv
-
- [✅ 简介](#✅ 简介)
- [🧩 核心功能](#🧩 核心功能)
- [🔧 安装方式(macOS/Linux)](#🔧 安装方式(macOS/Linux))
- [💡 常用命令](#💡 常用命令)
- 三、Poetry
-
- [✅ 简介](#✅ 简介)
- [🧩 核心功能](#🧩 核心功能)
- [🔧 安装方式](#🔧 安装方式)
- [💡 常用命令](#💡 常用命令)
- 四、对比总结
- 五、组合使用建议
-
- [场景 1:数据科学 / AI 项目](#场景 1:数据科学 / AI 项目)
- [场景 2:Web 开发 / 后端服务](#场景 2:Web 开发 / 后端服务)
- [场景 3:需要同时管理多个 Python 版本 + 多个项目环境](#场景 3:需要同时管理多个 Python 版本 + 多个项目环境)
- 六、推荐实践(个人开发环境)
-
在 Python 开发中,构建和管理环境是至关重要的。为了更好地隔离项目依赖、管理不同版本的 Python 解释器以及简化包管理,开发者常使用工具来辅助开发环境的搭建。以下是三种常见的 Python 环境管理工具Miniforge、pyenv和Poetry,它们各有特点,适用于不同的场景。
一、Miniforge
✅ 简介
Miniforge 是一个轻量级的 Conda 发行版,用于创建和管理 Python 环境。它基于 Conda,但不包含 Anaconda 的额外软件包,更加精简。
- 提供跨平台支持(Windows/macOS/Linux)
- 支持多种语言(Python、R、Node.js 等)
- 可以管理多个 Python 版本
- 包含虚拟环境管理和包管理功能
🧩 核心功能
- 多版本 Python 管理
- 虚拟环境创建与隔离
- 包管理(通过
conda install
)
🔧 安装方式
bash
# 下载安装脚本(以 Linux 为例)
wget -O Miniforge3.sh https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
# 执行安装
bash Miniforge3.sh
💡 常用命令
bash
# 创建新环境
conda create -n myenv python=3.10
# 激活环境
conda activate myenv
# 安装包
conda install numpy pandas
# 查看当前环境包
conda list
# 退出环境
conda deactivate
二、pyenv
✅ 简介
pyenv 是一个专注于管理 多版本 Python 解释器 的工具。它允许你在同一台机器上安装并切换多个 Python 版本,但不处理虚拟环境或包管理。
- 轻量级,专注于 Python 版本切换
- 不依赖系统 Python
- 支持自动切换项目使用的 Python 版本(配合插件 pyenv-virtualenv)
🧩 核心功能
- 安装和管理多个 Python 版本
- 全局或局部设置默认 Python 版本
- 配合 pyenv-virtualenv 插件可管理虚拟环境
🔧 安装方式(macOS/Linux)
bash
# 安装 pyenv
curl https://pyenv.run | bash
# 或者手动克隆pyenv仓库
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
- 然在终端中运行以下命令来添加命令:
~/.bashrc
:
bash
# 配置环境变量
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
# 应用配置
source ~/.bashrc
💡 常用命令
bash
## 查看帮助文档
pyenv
## 查看某个命令帮助文档
pyenv install --help
## 查看版本
pyenv --version
## 检查 Python 是否正常运行
python -c "import sys; print(sys.executable)"
## 查看已安装的 Python 版本
pyenv versions
## 查看当前使用的 Python 版本
pyenv version
## 查看所有可用的 Python 版
pyenv install --list
## 安装指定版本
pyenv install 3.9.1
## 验证
python --version
## 卸载指定版本
pyenv uninstall 3.9.1
## 全局指定 Python 版本(影响所有项目)
pyenv global 3.9.1
## 局部指定 Python 版本(仅影响当前项目目录),指定后在当前项目目录内创建 .python-version 文件,保存版本信息
## 优先级高于 global
pyenv local 3.9.1
## 会话级指定 Python 版本(影响所有项目)
pyenv shell 3.9.1
## 查看 python 的安装目录
pyenv which python
## 重新生成 pyenv 的 shims 目录中的可执行文件
pyenv rehash
如果需要虚拟环境,可以结合
pyenv-virtualenv
使用:
bash
# 创建虚拟环境
pyenv virtualenv 3.10.13 myenv
# 激活环境
pyenv activate myenv
# 退出环境
pyenv deactivate
- 下载并安装Python-3.12.10
bash
# 创建缓存目录(如果不存在)
mkdir -p "$(pyenv root)/cache"
# 下载源码包到缓存目录
wget -P "$(pyenv root)/cache" https://mirrors.huaweicloud.com/python/3.12.10/Python-3.12.10.tar.xz
# 再次尝试安装(pyenv会自动使用缓存文件)
pyenv install 3.12
三、Poetry
✅ 简介
Poetry 是一个现代的 Python 包管理和项目构建工具。它不仅管理虚拟环境,还提供依赖解析、打包、发布等功能。
- 自动创建和管理虚拟环境
- 使用
pyproject.toml
代替requirements.txt
- 支持依赖锁定(生成
poetry.lock
文件) - 可用于项目初始化、打包、发布
🧩 核心功能
- 管理项目依赖
- 构建和发布 Python 包
- 自动生成并维护虚拟环境
- 支持依赖版本精确控制
🔧 安装方式
bash
# 推荐使用官方安装脚本
curl -sSL https://install.python-poetry.org | python3 -
将 Poetry 添加到 PATH(例如 ~/.local/bin/poetry
),并加入 shell 配置文件中。
💡 常用命令
bash
# 初始化新项目
poetry new myproject
cd myproject
# 添加依赖
poetry add requests
poetry add pytest --dev
# 创建并激活虚拟环境
poetry shell
# 安装依赖
poetry install
# 构建包
poetry build
# 发布到 PyPI
poetry publish
Poetry 默认会为每个项目创建独立的虚拟环境(可在
~/.cache/pypoetry/virtualenvs/
中找到)。
四、对比总结
工具 | 是否管理 Python 版本 | 是否管理虚拟环境 | 是否管理依赖 | 是否适合打包发布 | 主要用途 |
---|---|---|---|---|---|
Miniforge | ✅ | ✅ | ✅ | ❌ | 科学计算、数据科学、多语言项目 |
pyenv | ✅ | ❌(需插件) | ❌ | ❌ | 多版本 Python 切换 |
Poetry | ❌(依赖已安装的 Python) | ✅ | ✅ | ✅ | 现代 Python 项目开发、依赖管理、打包发布 |
五、组合使用建议
你可以根据需求组合使用这些工具:
场景 1:数据科学 / AI 项目
✅ 推荐:Miniforge + pip 或 conda
理由:Conda 对于复杂依赖(如 NumPy、TensorFlow、PyTorch)支持更好,尤其适合 GPU 加速库。
场景 2:Web 开发 / 后端服务
✅ 推荐:Poetry + pyenv
理由:Poetry 管理依赖清晰,适合打包部署;pyenv 管理 Python 版本,避免冲突。
场景 3:需要同时管理多个 Python 版本 + 多个项目环境
✅ 推荐:pyenv + pyenv-virtualenv + Poetry
理由:灵活地管理 Python 版本 + 独立虚拟环境 + 精确依赖管理。
六、推荐实践(个人开发环境)
bash
# 安装 pyenv 和 pyenv-virtualenv
curl https://pyenv.run | bash
# 安装 Python 版本
pyenv install 3.10.13
pyenv global 3.10.13
# 安装 Poetry
curl -sSL https://install.python-poetry.org | python3 -
# 创建项目
mkdir myapp && cd myapp
poetry init # 或 poetry new myapp
# 添加依赖
poetry add fastapi uvicorn
# 创建虚拟环境并进入
poetry shell
# 编写代码...