· pxwoo · python · 5 min read
Poetry的入门使用 - Python包管理工具
探索Poetry,强大的Python包管理工具,简化项目依赖管理,提供一致的跨平台体验,快速上手! 了解如何安装及使用。
Poetry 是Python 依赖管理和包管理的工具。它允许你声明项目使用的库,并且进行安装、更新的管理操作。Poetry 使用一个独立的配置文件,以确保项目可重复安装、构建和分发。
在另一篇文章中我有大致分享通过venv使用Python虚拟环境。在实际工作中,更完整的管理工具可以提高工作效率,并且明确一些包管理的版本依赖问题,进而我需要一个具有更多功能特性的venv。鉴于conda
在商用上可能存在问题,那么我在工作中会考虑选用Poetry这种开源工具对自己的项目开发环境进行管理,避免不必要的麻烦。
Poetry 支持多平台,其目的是为了在不同的操作系统上提供一致的效果。其需要Python 3.9+ 版本。
安装
一般的,我们可以通过命令行安装Poetry,
# Linux, macOS, Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
# Windows (Powershell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py -
其中需要注意将
python3
或py
替换为你本地的Python命令。
安装完成后,你可以通过以下命令检查是否安装成功:
poetry --version
如果您看到Poetry (version 2.0.0)
之类的信息,则表明已经安装成功了!
如果想要卸载Poetry,则可以运行以下命令:
curl -sSL https://install.python-poetry.org | python3 - --uninstall
curl -sSL https://install.python-poetry.org | POETRY_UNINSTALL=1 python3 -
创建项目
这里我会以安装pendulum
这个库为例,来演示如何使用Poetry进行项目管理。
首先我们需要新建一个项目,叫做poetry-demo
:
poetry new poetry-demo
完成后,我们可以看到如下的目录结构:
poetry-demo
├── pyproject.toml
├── README.md
├── poetry_demo
│ └── __init__.py
└── tests
└── __init__.py
其中,pyproject.toml
是最重要的配置文件,它包含了项目的元数据和依赖项。它包含类似这样子的信息:
[project]
name = "poetry-demo"
version = "0.1.0"
description = ""
authors = [
{name = "Sébastien Eustace", email = "[email protected]"}
]
readme = "README.md"
requires-python = ">=3.9"
dependencies = [
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
显然,project.name
是我们的项目名称,requires-python
声明了项目的Python版本要求,dependencies
是我们项目的依赖项,当然现在没有任何依赖项。
如果想在已有的项目中引入Poetry,那么可以通过
poetry init
初始化Poetry,创建pyproject.toml
文件。
添加依赖项
现在我们已经准备好使用Poetry了,接下来我们需要添加pendulum
:
poetry add pendulum
此处可以简单地使用poetry add
自动找到合适的版本,并安装库及其依赖。pyproject.toml
中的dependencies
也将自动完成信息添加。
安装依赖项
现在我们已经添加了依赖项,我们可以使用Poetry安装它们:
poetry install
运行项目
假设此时我们已经编写好项目的代码(比如my_script.py
),类似一般的运行命令,Poetry可以使用:
poetry run python my_script.py
类似的,若需要运行pytest可以使用poetry run pytest
。
激活虚拟环境
Poetry会自动为我们创建虚拟环境,并且在项目中使用。我们可以通过以下命令激活当前项目的虚拟环境:
poetry env activate
激活后,我们可以查看当前虚拟环境的信息:
poetry env info
总结
Poetry是一个非常强大的Python包管理工具,它可以帮助我们管理项目的依赖项,并且提供了一些额外的功能,比如虚拟环境的管理。它的使用非常简单,只需要几行命令就可以完成项目的初始化、依赖项的添加和安装。它的关键在于配置文件pyproject.toml
,它包含了项目的元数据和依赖项。这使得项目可以在不同的环境中重复安装和构建,并且运行得到相同的效果。