弹弹岛2vivo客户端
607.37MB · 2025-12-11
我们必须掌握**环境管理(Environment Management)与依赖管理(Dependency Management)**这两项核心能力。
本篇文章对 Python 官方内置的虚拟环境工具 venv 以及现代依赖管理工具 Poetry 进行系统讲解,帮助你构建可靠、可复现的 Python 开发环境。
如果你遇过以下问题,那么你一定需要虚拟环境:
这些问题的根源是:
因此,“一个项目一个独立环境”已经成为现代开发的事实标准。
venv 是 Python 3 内置的环境隔离机制,特点是:
在项目目录下执行:
python3 -m venv venv
创建一个名为 venv 的虚拟环境目录,这里面包含:
macOS / Linux:
source venv/bin/activate
Windows(命令行):
venvScriptsactivate
激活后终端前面会出现 (venv) 前缀。
虚拟环境激活后安装的包只会影响当前项目:
pip install requests
pip install flask
pip freeze > requirements.txt
团队成员可以通过:
pip install -r requirements.txt
来复现同样的环境。
deactivate
虽然 venv 足够基础开发,但仍存在一些明显不足:
requirements.txt 不记录依赖树,容易出现“幽灵冲突”因此,大型项目、团队协作项目往往需要使用更现代的管理工具,例如 Poetry。
Poetry 的目标是提供一个完整、自洽的 Python 项目管理体验,包括:
它已经成为近年来最受企业和开源社区欢迎的 Python 项目工具。
官方推荐脚本安装:
curl -sSL | python3 -
安装完成后通过:
poetry --version
确认是否成功。
在任意目录执行:
poetry new myproject
自动生成标准项目目录结构:
myproject/
myproject/
__init__.py
tests/
pyproject.toml
所有项目配置放在 pyproject.toml 中。
poetry add requests
poetry add flask
Poetry 会自动解析可用版本,并生成:
pyproject.toml(版本范围)poetry.lock(锁定具体版本)poetry install
这会:
poetry env info
poetry shell
退出:
exit
poetry add --dev pytest black
poetry remove flask
poetry update
poetry build
poetry publish
Poetry 完整覆盖了从开发到发布的流程。
| 功能 | venv | Poetry |
|---|---|---|
| 是否内置 | 是 | 需安装 |
| 依赖解析 | 手动(pip) | 自动 |
| 锁文件 | 无 | 有(poetry.lock) |
| 可复现性 | 一般 | 很高 |
| 项目结构 | 自行维护 | 自动生成 |
| 包发布支持 | 无 | 支持 |
| 团队开发 | 需要技巧 | 更高效 |
| 适用场景 | 小项目、脚本 | 企业级项目、多人协作 |
一句话总结:
→ 使用 venv + requirements.txt
→ 强烈推荐使用 Poetry
→ 建议先用 venv 入门,再用 Poetry 提升工程化能力
无论是 venv 还是 Poetry,目的都是让项目环境更加可控、稳定、可复现。 掌握这些工具,是成为专业 Python 工程师的重要一步。