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。

相关推荐
程序员小远6 小时前
软件测试之单元测试详解
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
心无旁骛~7 小时前
python多进程和多线程问题
开发语言·python
星云数灵7 小时前
使用Anaconda管理Python环境:安装与验证Pandas、NumPy、Matplotlib
开发语言·python·数据分析·pandas·教程·环境配置·anaconda
计算机毕设匠心工作室7 小时前
【python大数据毕设实战】青少年抑郁症风险数据分析可视化系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习
后端·python
计算机毕设小月哥7 小时前
【Hadoop+Spark+python毕设】智能制造生产效能分析与可视化系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
计算机毕设小月哥9 小时前
【Hadoop+Spark+python毕设】中风患者数据可视化分析系统、计算机毕业设计、包括数据爬取、Spark、数据分析、数据可视化、Hadoop
后端·python·mysql
Keep_Trying_Go9 小时前
基于Zero-Shot的目标计数算法详解(Open-world Text-specified Object Counting)
人工智能·pytorch·python·算法·多模态·目标统计
计算机毕设匠心工作室10 小时前
【python大数据毕设实战】强迫症特征与影响因素数据分析系统、Hadoop、计算机毕业设计、包括数据爬取、数据分析、数据可视化、机器学习、实战教学
后端·python·mysql
Trouville0111 小时前
Pycharm软件初始化设置,字体和shell路径如何设置到最舒服
ide·python·pycharm