· pxwoo · python  · 5 min read

Poetry的入门使用 - Python包管理工具

探索Poetry,强大的Python包管理工具,简化项目依赖管理,提供一致的跨平台体验,快速上手! 了解如何安装及使用。

python poetry

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 -

其中需要注意将python3py替换为你本地的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,它包含了项目的元数据和依赖项。这使得项目可以在不同的环境中重复安装和构建,并且运行得到相同的效果。

参考资料

返回博客

相关内容

查看 »

浅谈系统的可用性

系统的可用性是衡量计算机系统性能的重要指标,影响着企业的业务连续性和用户体验。在数字化转型的背景下,企业必须采用先进的技术和管理方法,确保系统具备高可用性,并在未来不断优化和演进,以应对复杂多变的业务需求。

从入门到精通:打造智能高效的移动应用开发之路

探索移动终端应用开发的全面指南,涵盖技术选型、开发流程、用户体验设计、测试与发布等关键环节。随着新技术的不断涌现,本指南帮助开发者掌握高效、智能的开发方法,紧跟行业趋势,构建跨平台、创新且富有竞争力的移动应用。

民宿住房管理方案

一般的住房资源存在分散化、缺乏集中管理的特点。定制化的数据平台,能够帮助实现资源的集中管理,减少信息更新不及时带来的影响。