Poetry 是一个用于管理 Python 项目依赖关系和构建工具的工具和库。
安装
brew install poetry
Linux 使用以下命令安装:
curl -sSL https://install.python-poetry.org | python3 -
等安装完成后加到 Path
export PATH="$HOME/.local/bin:$PATH"
启用补全
如果是用 Oh My Zsh 继续配置:
mkdir $ZSH_CUSTOM/plugins/poetry
poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry
最后在 Zsh 配置文件中增加插件 ~/.zshrc
:
plugins(
...
poetry
)
使用
初始化
# 新项目: ~/Developer
poetry new my-project
# 已有项目: ~/Developer/my-project
poetry init
设置虚拟环境
虚拟环境一般配合 pyenv 使用:
# 先使用 pyenv 安装虚拟环境
pyenv install 3.12
# 设定为全局
pyenv global 3.12
# 指定版本
poetry env use python
指定的版本一定要在 $PATH
的路径中,如果是当前 PATH 的版本,无须指定版本号。
自定义源
在项目根目录pyproject.toml文件末尾添加:
[[tool.poetry.source]]
name = "douban"
url = "https://pypi.doubanio.com/simple/"
- 豆瓣:https://pypi.doubanio.com/simple/
- 阿里云:https://mirrors.aliyun.com/pypi/simple/
- 清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
也可以直接通过命令添加:
# 添加源
poetry source add douban https://pypi.doubanio.com/simple/
# 验证是否添加成功
poetry source show
添加依赖
poetry add fastapi
安装插件
poetry self add <plugin_name>
# 卸载插件
poetry self remove <plugin_name>
# 查看已安装插件
poetry self show plugins
命令
- 初始化
- 新项目:
new <my-project>
- 原有项目:
init
- 新环境安装:
install
(从当前项目读取依赖并安装)
- 新项目:
- 项目
- 安装依赖:
add <package>
- 删除依赖:
remove <package>
- 列出已安装:
show
- 安装依赖:
- 显示当前版本:
--version
- 输出详细日志:
-vvv
env
- 切换环境:
env use 3.10
(指定版本或完整路径) - 查看信息:
env info
- 列出所有环境:
env list
- 删除指定环境:
env remove <path>
(—all 删除所有)
source
- 添加源:
source add <sourec_name> <source_url>
- 列出源:
source show
- 删除源:
source remove <source_name>
问题
如何从 requirements 安装
# 简单的 requirements 可以通过这个方式安装
cat requirements.txt | xargs poetry add
poetry add $( cat requirements.txt )