Python 语言学习:Python包管理之poetry的使用 poetry介绍

poetry是一个Python虚拟环境和依赖管理的工具。poetry和pipenv类似,另外还提供了打包和发布的功能。
更新于: 2023-02-02 17:30:10

poetry 的安装

# 推荐:利用 pip 安装 poetry
pip install poetry

# 利用 curl 安装 poetry
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python

poetry 创建项目

poetry new zhenzi0322
zhenzi0322
├── pyproject.toml
├── README.rst
├── zhenzi0322
│ └── __init__.py
└── tests
| |__ __init__.py
| |__ test_zhenzi0322.py

配置 poetry 安装源

pyproject.toml 里添加如下内容:

[[tool.poetry.source]]
name = "tsinghua"
default = true
url = "https://pypi.tuna.tsinghua.edu.cn/simple"

激活虚拟环境

然后可以直接使用 pip 安装包到当前环境中。

source $(poetry env info --path)/bin/activate

删除当前环境

poetry env remove yourproject-DXFSsd5v-py3.9

poetry 运行 python 文件

poetry run python main.py

poetry add

# 从git安装某个包
poetry add git+ssh://git@gitlab.blabla.co/nubela/project-a.git#develop

环境管理

# 应用某个环境
poetry env use python3.7
poetry env use system
# 查看当前环境信息
poetry env info
poetry env info --path
# 项目相关的环境
poetry env list

## 删除环境
poetry env remove /full/path/to/python
poetry env remove python3.7
poetry env remove 3.7
poetry env remove test-O3eWbxRl-py3.7

包管理

# 添加最近
poetry add package@latest
# 更新包
poetry update jsw-nx

清除缓存安装

有些刚发布的包,有时候,无法安装到最新的包,就需要用到这个命令 <自己的包: jsw-nx>

poetry cache clear pypi --all

安装包慢

  • 导出 requirement.txt 
  • 利用 pip 来安装
poetry export -f requirements.txt > requirements.txt
python -m pip install -r requirements.txt
poetry install

参考