Poetry
# 介绍
Poetry 是一款由社区维护的开源 Python 包管理工具。官网 (opens new window)
# 安装
# 直接使用 pip 安装
不推荐,只是因为可行列出来。
# 使用 pipx (推荐)
pip install pipx # 安装pipx
pipx install poetry # 安装
pipx upgrade poetry # 更新
pipx uninstall poetry # 卸载
# 指定特定版本
pipx install poetry==1.2.0
# 平行安装多个版本并用后缀区分
pipx install --suffix=@1.2.0 poetry==1.2.0
poetry@1.2.0 --version
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 使用官方脚本
Linux, macOS, Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
1
Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org/ -UseBasicParsing).Content | python -
1
这个脚本直接使用便会自动下载并安装 poetry,其实实际上还是走的 pip,所以如果安装慢修改 pip 的镜像源便可加快安装速度。
为了提供个性化设置,脚本会识别一些环境变量或参数,详见官方文档 (opens new window)。这里列出一些常用的:
参数直接加在脚本后面,如 curl -sSL https://install.python-poetry.org | python3 - --version 1.6.0
。
POETRY_HOME
环境变量,可指定安装目录POETRY_VERSION
环境变量,或使用参数--version
可指定安装版本POETRY_UNINSTALL
环境变量,或使用参数--uninstall
可卸载 Poetry
# 更新
如果是使用的包管理软件则直接使用包管理软件的更新命令即可
pipx upgrade poetry
1
使用官方脚本安装则使用
poetry self upgrade
1
更新前一定要注意启动的实例都已经关闭,否则可能会出现旧版本文件没删完的情况,导致 poetry 项目结构损坏,只能卸载重装。
# 使用
详细内容参考官方文档 (opens new window)
# 常用指令
# 基本指令
poetry new <project-name> # 创建新项目
poetry init # 初始化已存在的项目
poetry install # 从poetry.lock安装依赖,添加--sync可移除已安装的多余依赖
poetry add <package> # 添加依赖
poetry remove <package> # 移除依赖
poetry update # 更新依赖
poetry lock # 生成poetry.lock文件,在手动修改了pyproject.toml后使用
poetry run <command> # 运行命令 如poetry run python main.py
poetry shell # 进入虚拟环境
poetry show # 显示当前项目的依赖,添加--tree可显示依赖树
poetry show > requirements.txt # 导出依赖到requirements.txt
poetry export -f requirements.txt --output requirements.txt # 另一种导出方式,会导出更多信息
poetry env use <python excutable> # 使用指定的python解释器,可以用来指定python版本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 配置相关
poetry config --list # 列出所有配置项
poetry config <key> <value> # 设置配置项
poetry config --unset <key> # 删除配置项
1
2
3
2
3
下面是一些常用的配置项:
cache-dir
用于缓存下载的包,默认为:
- macOS: ~/Library/Caches/pypoetry
- Windows: C:\Users<username>\AppData\Local\pypoetry\Cache
- Unix: ~/.cache/pypoetry
可使用配置项cache-dir
修改或环境变量POETRY_CACHE_DIR
指定。
virtualenvs.in-project
将虚拟环境设置到项目文件下
poetry 创建虚拟环境时的位置,false 为 {cache-dir}/virtualenvs
,true 为 {project-root}/.venv
,默认为 false。
# pyproject.toml 内配置项
列举一些经常修改的
[tool.poetry]
package-mode = false # 不会把自身识别为包安装
[[tool.poetry.source]] # 设置镜像
name = "tuna"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
priority = 'primary'
1
2
3
4
5
6
7
2
3
4
5
6
7
上次更新: 9/20/2024, 4:07:01 PM