时尚管理作品集
大家好呀!今天我要和小伙伴们聊聊Python项目依赖管理的"时尚担当" - Poetry。还在为requirements.txt管理依赖发愁吗?Poetry不仅能帮你轻松管理项目依赖,还能打包发布,简直就是Python项目管理的瑞士军刀!
Poetry是一个现代化的Python依赖管理和打包工具。它最吸引人的地方在于,它使用一个pyproject.toml文件来管理所有项目配置和依赖,告别了传统的setup.py和requirements.txt的混乱局面。
首先,让我们安装Poetry:
curl -sSL https://install.python-poetry.org | python3 -创建项目:Poetry的第一步
使用Poetry创建新项目超级简单:
poetry new my-awesome-project
这个命令会为我们创建如下结构:
my-awesome-project/├── pyproject.toml├── README.md├── my_awesome_project/│ └── __init__.py└── tests/ └── __init__.py
依赖管理:优雅得不像实力派小贴士:pyproject.toml是我们项目的"指挥官",它包含了项目的所有配置信息。
添加依赖?就是这么简单:
poetry add requests
看看我们的pyproject.toml长啥样:
[tool.poetry]name = "my-awesome-project"version = "0.1.0"description = ""authors = ["Your Name <your.email@example.com>"][tool.poetry.dependencies]python = "^3.8"requests = "^2.31.0"[tool.poetry.dev-dependencies]pytest = "^7.1.1"
虚拟环境:自动驾驶模式注意事项:^2.31.0表示接受2.31.0到3.0.0之间的版本(不包含3.0.0)。
Poetry会自动为我们的项目创建和管理虚拟环境,不用再手动venv啦!
# 进入虚拟环境poetry shell# 运行项目中的Python脚本poetry run python your_script.py依赖锁定:稳如泰山
Poetry使用poetry.lock文件锁定所有依赖的具体版本,确保团队成员使用完全相同的依赖版本:
# 安装锁定的依赖poetry install实战小例子:创建一个网络爬虫项目
# spider.pyimport requestsdef get_weather(city): """获取城市天气""" url = f"https://api.example.com/weather/{city}" response = requests.get(url) return response.json()if __name__ == "__main__": weather = get_weather("beijing") print(f"北京今天的天气是:{weather}")
要运行这个项目,只需:
poetry add requestspoetry run python spider.py发布项目:一键起飞
准备发布你的项目到PyPI?Poetry让这个过程变得超简单:
poetry buildpoetry publish进阶技巧区分开发依赖:
poetry add pytest --dev更新依赖:
poetry update导出requirements.txt:
poetry export -f requirements.txt --output requirements.txt
练习题试着用Poetry创建一个新项目,并添加几个常用的依赖。尝试在项目中使用不同版本的依赖,观察poetry.lock文件的变化。实践一下如何使用Poetry的虚拟环境功能。小贴士:如果你需要兼容老项目,可以通过export命令生成传统的requirements.txt文件。
小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。Poetry真的是一个很棒的工具,用起来特别带感。祝大家学习愉快,Python学习节节高!

