Poetry 介绍和安装指南 - Ubuntu 24

Poetry 介绍和安装指南

原文: https://www.qiulin-dev.top/articles/9a952d18-2333-44ac-a100-7aeb19d0027e

1. 什么是 Poetry?

Poetry 是 Python 项目中流行的依赖管理和打包工具。它能够帮助开发者简单地管理项目的依赖库、虚拟环境、以及发布 Python 包。

与传统的 piprequirements.txt 不同,Poetry 提供了一个统一的方式来管理项目的依赖项,同时生成锁定文件 (poetry.lock),确保在不同环境下依赖的版本一致。Poetry 还简化了打包发布 Python 库的流程,允许用户通过一条命令进行发布。

1.1 Poetry 的主要功能

  • 依赖管理:使用简单直观的命令来添加、移除和更新依赖项,并生成精确的锁定文件。
  • 虚拟环境管理:Poetry 会自动为每个项目创建并管理虚拟环境,无需手动配置。
  • 包发布:内置的打包和发布工具,能够快速将项目发布到 PyPI 或其他源。
  • 易于集成:可以方便地与 CI/CD 管道集成,确保版本控制和依赖一致性。

2. Poetry 的安装

Poetry 的安装十分简单,它支持大多数主流的操作系统(Windows、macOS、Linux)。

  1. 使用官方安装脚本

Poetry 官方推荐的安装方式是通过他们提供的安装脚本。该脚本可以自动下载并配置 Poetry。

在终端(或命令行)中执行以下命令:

bash 复制代码
curl -sSL https://install.python-poetry.org | python3 -
  1. 添加环境变量 ~/.bashrc :
bash 复制代码
export PATH="/home/user/.local/bin:$PATH"
  1. 验证安装
bash 复制代码
poetry --version

3. 使用 Poetry 创建新项目

Poetry 提供了一条命令来创建新的 Python 项目:

bash 复制代码
poetry new my-project

这将会在当前目录下创建一个名为 my-project 的文件夹,并包含基础的项目结构。接下来,您可以进入项目目录并安装依赖:

bash 复制代码
poetry new my-project

Poetry 会自动为项目创建虚拟环境,并安装所有定义的依赖项

4. 小结

Poetry 是现代 Python 项目开发中的强大工具,简化了依赖管理和打包流程。通过它,您可以更加轻松地创建、管理和发布 Python 项目。如果您希望更深入地了解 Poetry 的功能和用法,可以参考 官方文档

5 设置清华镜像(可选)

  • 通过以下命令为单个项目设置首选镜像:
bash 复制代码
poetry source add --priority=primary mirrors https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
  • 通过以下命令为单个项目设置补充镜像:
bash 复制代码
poetry source add --priority=supplemental mirrors https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/

Poetry 尚未支持全局设置镜像。参考 issue 1632。

相关推荐
廖圣平8 分钟前
从零开始,福袋直播间脚本研究【八】《策略模式》
开发语言·python·bash·策略模式
2301_8042154111 分钟前
Python类型提示(Type Hints)详解
jvm·数据库·python
第一程序员20 分钟前
非专业转码心路历程与Rust学习规划
python·github
一帧一画21 分钟前
基于 CNN+LSTM 的全国年度降水预测实践
python·cnn·lstm
骄阳似火_201821 分钟前
Anaconda的详细安装步骤
python
Thomas.Sir23 分钟前
第八章:Python3 之 异常与文件处理【从基础入门到底层原理+项目实战】
python·ai·文件处理·异常
2301_8166512224 分钟前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python
Sunshine for you25 分钟前
Python单元测试(unittest)实战指南
jvm·数据库·python
wefly201731 分钟前
m3u8live.cn:免安装 HLS 在线播放器,流媒体调试效率神器
开发语言·javascript·python·django·ecmascript·hls.js 原理·m3u8 解析
大叔_爱编程33 分钟前
基于用户评论的热点问题挖掘与反馈分析系统-django+spider+uniapp
python·django·uni-app·毕业设计·源码·课程设计·spider