简介
Poetry是一个用于管理python包的命令行工具.
有何优势?
pip可以安装来自pypi的包,而poetry不止于安装pypi的包,他还可以自动的从源码安装,从远程目标安装,甚至是从远程git仓库安装.
而包管理只是poetry的一部分,同样重要的是poetry的打包发布和环境管理的功能.自动化的打包发布,极大节省了开发者的时间.强大的坏境管理,使其拥有纯虚拟环境无法比拟的优势.
如何安装?
poetry有多种安装方式,但其中使用pip是不推荐的,使用pip安装容易污染环境.
注: poetry需要python3.8及以上版本.
官方脚本
Windows (PowerShell)
1 | (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - |
Linux, macOS, Windows (WSL)
1 | curl -sSL https://install.python-poetry.org | python3 - |
pipx
1 | pipx install poetry |
基本用法
初始化
- 新项目
1
poetry new your_project_name
- 现有非poetry项目
1
poetry init
- 现有poetry项目
1
poetry install
poetry new
poetry new将会在当前工作目录下创建一个项目文件夹以及项目脚手架.
poetry init
poetry init将会以工作目录为项目文件夹创建poetry所需的配置文件.
poetry install
poetry install会根据配置文件安装项目所需依赖.
激活虚拟环境
直接运行命令行
1 | poetry run your command |
例如运行start.py:
1 | poetry run python start.py |
启用虚拟环境shell
1 | poetry shell |
即可进入虚拟环境.
安装软件包
poetry可以从各种途径安装软件包,除了默认的pypi,还可以从网络甚至是git安装.
1 | poetry add package_name # 从pypi添加包 |
换源
在pyproject.toml中加入以下段落即可:
1 | [plugins.pypi_mirror] |
或是运行命令行:
1 | poetry source add --priority=primary mirrors https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/ |
卸载软件包
1 | poetry remove package_name |
更新软件包
1 | poetry update # 更新所有软件包 |
打包上传
打包
1 | poetry build |
运行此命令后poetry会自动将项目打包并在dist目录下输出源码压缩文件和wheel.
上传
运行命令后输入token即可上传.
1 | poetry publish |
* 请在打包后上传.
导出为Requirements.txt
第一次使用poetry时疑惑过,poetry会不会提高安装门槛,后来看来是没必要担心的,poetry支持导出项目依赖:
1 | poetry export --format requirements.txt --output requirements.txt --without-hashes |
- 本文链接: https://www.zh314.xyz/2024/09/05/强大的包管理-Poetry/
- 版权声明: 本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。