Python 中创建虚拟环境的最佳实践方式
·
- 环境问题一直是很让人头疼的问题。
Python 两种创建虚拟环境的方式总结
方式一:Python 原生 (venv) + pip
核心: 手动管理,简单直接。
-
创建环境:
# 在项目根目录执行 python -m venv venv -
激活环境:
# Windows .\venv\Scripts\activate # Linux/macOS source venv/bin/activate -
管理依赖:
# 安装包 pip install requests pandas # 导出依赖(需手动) pip freeze > requirements.txt # 根据requirements.txt安装 pip install -r requirements.txt
适用场景: 快速脚本、初学者学习、简单项目。
方式二:Poetry (推荐使用 pipx 安装)
核心: 自动化、可重现的现代项目管理。
最佳实践:先使用 pipx 安装 Poetry 本身
-
安装 Poetry (全局工具):
# 这是最关键的一步!用pipx安装Poetry这个"管理工具" pipx install poetrypipx会为Poetry创建一个独立的隔离环境,让你全局使用poetry命令。 -
用Poetry创建/管理项目环境:
# 1. 为新项目创建环境和项目结构 poetry new my-project cd my-project # 或:在现有目录初始化 poetry init # 2. 添加依赖(自动处理依赖关系并更新pyproject.toml) poetry add requests poetry add --group dev pytest # 3. 安装所有依赖并创建项目虚拟环境 poetry install -
使用项目环境:
# 方式A:在虚拟环境中执行单条命令 poetry run python script.py # 方式B:激活虚拟环境的Shell(无需手动找activate脚本) poetry shell # ...执行操作... exit # 方式C:仅安装生产依赖(用于部署) poetry install --without dev
适用场景: 任何正式的项目开发、团队协作、需要严格依赖管理和打包的项目。
核心关系与比喻
为了更清晰地理解,我们可以这样比喻:
| 工具 | 角色 | 作用 |
|---|---|---|
pipx | 工具管理员 | 负责安全地安装和管理像Poetry这样的全局工具,为每个工具提供独立的"工具箱"。 |
poetry | 项目经理 | 是你用pipx安装的一个强大工具。它负责为你的每个具体项目创建和管理独立的"工作台"(虚拟环境)和"材料"(依赖)。 |
venv + pip | 手动DIY | 你自己亲自担任"项目经理",手动创建"工作台",手动记录和管理所有"材料"。 |
工作流就是:
你用 pipx(工具管理员) 请来了 poetry(项目经理),然后让这位专业的项目经理去打理你的每一个项目。
最终选择建议
-
对于绝大多数开发者和项目,强烈推荐并采用【方式二】。
- 安装Poetry:
pipx install poetry(首选) 或pip install --user poetry(备选) - 管理项目: 使用
poetry add,poetry install,poetry shell等命令。
- 安装Poetry:
-
仅在临时、简单、一次性的脚本任务中,可以考虑使用【方式一】来快速实现。
这种方式组合了 pipx 和 poetry 两者的最大优势,是当前 Python 社区公认的最佳实践。
更多推荐


所有评论(0)