Poetry 教程 
1. Poetry 简介 
Poetry 是一款用于 Python 依赖性管理和打包的工具。它允许你声明项目依赖的库,并为你管理(安装/更新)它们。Poetry 提供一个锁文件,以确保可重复安装,并可构建项目以供发布。
Poetry 需要 Python 3.8 以上版本。它是多平台的,目标是让它在 Linux、MacOS 和 Windows 上同样运行良好。
推荐使用 pipx 安装:
bash
pipx install poetry如果你没有安装 pipx,可以使用 pip 安装 pipx:
bash
pip install pipx对于 Linux 或 MacOS 系统,可以使用官方命令安装:
bash
curl -sSL https://install.python-poetry.org | python -对于 Windows 则可以使用 PowerShell 安装:
powershell
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -这种方法需要手动添加路径:
- MacOS:~/Library/Application Support/pypoetry
- Linux/Unix:~/.local/share/pypoetry
- Windows:%APPDATA%\pypoetry
2. Poetry 基本使用 
查看命令的使用方式:
bash
poetry list创建项目:
bash
poetry new poetry-demo这将生成如下目录:
console
poetry-demo
├── pyproject.toml
├── README.md
├── poetry_demo
│   └── __init__.py
└── tests
    └── __init__.py初始化项目:
bash
cd pre-existing-project
poetry init这总是可以配合虚拟环境使用。
Poetry 还可以配合 pre-commit 使用,可以在项目中添加 .pre-commit-config.yaml 文件,然后运行 pre-commit install 安装钩子。
yml
repos:
-   repo: https://github.com/python-poetry/poetry
    rev: ''  # add version here
    hooks:
    -   id: poetry-check
        args: ["-C", "./subdirectory"]
    -   id: poetry-lock
        args: ["-C", "./subdirectory"]
    -   id: poetry-export
        args: ["-C", "./subdirectory", "-f", "requirements.txt", "-o", "./subdirectory/requirements.txt"]
    -   id: poetry-install
        args: ["-C", "./subdirectory"]3. 常用命令 
安装一个项目的依赖:
bash
poetry install --no-root安装一个包:
bash
poetry add package-name安装一个开发包:
bash
poetry add --group=dev package-name卸载一个包:
bash
poetry remove package-name更新一个包:
bash
poetry update package-name4. 使用第三方源 
添加第三方源,例如添加 OnnxRuntime CUDA 源:
bash
poetry source add --priority=supplemental onnxruntime https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/使用源安装包:
bash
poetry add --source onnxruntime onnxruntime-gpu如果添加一个 primary 优先级的源,可以用于代替 PyPI 源:
bash
poetry source add --priority=primary my-pypi https://pypi.org/simple/