内容列表
什么是poetry
Poetry 是Python 中用于虚拟环境管理和依赖管理和打包的工具。它允许您声明项目所依赖的库,并将为您管理(安装/更新)它们。Poetry 提供了一个锁定文件以确保可重复安装,并且可以构建您的项目以进行分发。
- 虚拟环境管理工具
- 依赖管理工具
- 打包的工具
为什么要使用Poetry
以下是 Poetry venv conda 三款工具的对比
对比项 | venv + pip | Poetry | conda |
---|---|---|---|
定义 | Python内置的虚拟环境 | Python的依赖关系管理与打包工具 | 跨平台的包管理与环境管理工具 |
跨平台 | 依赖具体Python解释器 | 支持Windows、Linux、macOS | 支持Windows、Linux、macOS |
跨语言 | 仅支持Python | 仅支持Python | 支持Python、R、Ruby等多语言 |
环境管理 | 项目级别隔离环境 | 项目级别隔离环境 | 支持系统级别和项目级别环境 |
依赖管理 | 手动pip安装依赖 | pyproject.toml文件定义 | environment.yml文件定义依赖 |
打包方式 | 不支持打包 | 支持打包为whl、tar | 支持打包为conda等格式 |
安装使用 | Python内置,非常简单 | 多种安装方式相对简单 | 需要安装conda,较复杂 |
环境迁移 | 需要手动迁移或重建 | 需要手动迁移或重建 | 支持导出环境配置文件 |
使用建议 | 只在一个环境中使用的,比如我就在linux下开发,并且python解释器的版本也是相同的。项目程序不算太复杂,建议使用 | 比如在widnow开发,linux服务器部署,python版本也不相同。项目程序相对复杂,建议使用 | 建议机器学习和深度学习的朋友使用 |
conda是比较庞大的工具,是比较重量级,没有Poetry和venv + pip 使用方便。因此此处主要对比这两款,对比出Poetry的优势:
Poetry 比 venv + pip的好处最主要在于解决模块的依赖关系。
How_To_Use_Poetry
视频教程:
相关仓库
如何贡献
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。