Poetry进行python项目创建和管理

news/2024/12/21 4:34:52/

Poetry 是一个用于依赖管理和打包的工具,它让创建和管理 Python 项目变得更加简单。以下是如何使用 Poetry 创建和管理 Python 项目的步骤。

安装 Poetry

首先,你需要安装 Poetry。你可以使用官方提供的安装脚本来安装 Poetry:

curl -sSL https://install.python-poetry.org | python3 -

或者使用 pip:

pip install poetry

完成安装后,可以使用以下命令验证安装是否成功:

poetry --version

创建新项目

使用 Poetry 创建新项目非常简单。你可以使用以下命令创建一个新的 Poetry 项目:

poetry new my_project

这将创建一个名为 my_project 的新目录,目录结构类似于:

my_project/
├── pyproject.toml
├── README.rst
├── my_project
│   └── __init__.py
└── tests└── __init__.py

pyproject.toml 文件是项目的配置文件,包含了项目的元数据和依赖信息。

在现有项目中使用 Poetry

如果你已经有一个现有的项目,你可以在项目目录中运行以下命令来初始化 Poetry:

cd existing_project
poetry init

这将启动一个交互式向导,帮助你创建 pyproject.toml 文件。

添加依赖

你可以使用 poetry add 命令来添加项目依赖。例如,要添加 requests 库作为依赖,你可以运行:

poetry add requests

poetry add 命令会自动更新 pyproject.tomlpoetry.lock 文件,并安装新的依赖。

安装项目依赖

如果你想安装所有的项目依赖,可以运行:

poetry install

这将根据 poetry.lock 文件中的信息安装项目的所有依赖。

管理开发依赖

如果你想添加仅在开发时使用的依赖,可以使用 --dev 选项:

poetry add --dev pytest

运行脚本

Poetry 还允许你在虚拟环境中运行脚本。你可以使用 poetry run 命令来运行 Python 脚本或命令。例如:

poetry run python my_project/main.py

发布项目

当你准备好发布你的项目时,可以使用以下命令来构建项目:

poetry build

这将生成 .tar.gz.whl 文件,你可以将它们上传到 PyPI 或其他包管理平台。

发布到 PyPI

如果你已经配置了 PyPI 的凭证,可以使用以下命令来发布项目:

poetry publish

你也可以指定选项来发布到 TestPyPI 或使用不同的凭证。

总结

Poetry 提供了一种简洁的方法来管理 Python 项目的依赖和打包工作。通过使用 Poetry,你可以轻松地创建新项目、管理依赖、运行脚本和发布项目。希望这个指南对你有所帮助!


http://www.ppmy.cn/news/1534360.html

相关文章

Excel提取数据

Excel提取数据 在使用Excel的过程中,我需要将带有评语的评分的文本内容提取出评分,如下所示 其中分数与文本之间用空格分隔,只有分数的评语会自动靠右对齐,我需要做的就是将B列的评语从中提取出分数放到C列中,以下为实…

车辆重识别(利用扩散模型合成有效数据进行行人再识别预训练)论文阅读2024/9/27

[1]Synthesizing Efficient Data with Diffusion Models for Person Re-Identification Pre-Training 作者:Ke Niu1, Haiyang Yu1, Xuelin Qian2, Teng Fu1, Bin Li1, Xiangyang Xue1*单位:1复旦大学, 2西北工业大学 摘要: 现有的行人重识别…

如何在ChatGPT的帮助下,使用“逻辑回归”技巧完成论文写作?

学境思源,一键生成论文初稿: AcademicIdeas - 学境思源AI论文写作 逻辑回归作为一种统计分析工具广泛应用,以解决研究中的分类问题。其主要作用在于探讨和量化自变量对因变量的影响,从而揭示潜在的因果关系。 在论文写作中&…

【py】python实现矩阵的加、减、点乘、乘法

好的,我将使用Python语言来解决这个问题。我们将使用NumPy库来创建数组和进行矩阵运算。 以下是完整的代码: import numpy as np # (1) 创建一个3x4的二维数组test1, 数据值要求从0~1之间 test1 np.random.rand(3, 4) # (2) 创建12个服从均匀分布的随…

微信小程序 蓝牙通讯

客户的需求如下:通过微信小程序控制蓝牙ble设备(电子面膜),通过不同指令控制面膜的亮度和时间。 01.首先看下客户的ble设备服务文档:(本部分需要有点蓝牙基础,在调试过程中可以用安卓软件nRF Connect软件来执行测试命令) 0xFFF1灯控命令 命…

Text-to-SQL方法研究

有关Text-to-SQL实现细节,可以查阅我的另一篇文章text-to-sql将自然语言转换为数据库查询语句 1、面临的挑战 自然语言问题往往包含复杂的语言结构,如嵌套语句、倒装句和省略等,很难准确映射到SQL查询上。此外,自然语言本身就存在歧义,一个问题可能有多种解读。消除…

Windows环境下使用Docker配置MySQL数据库

用Docker配置数据库,无论是做开发,还是做生产部署,都非常的方便 它不需要单独安装数据库,也不用担心出现各种环境的配置问题。 本文将分享用Docker配置数据库的步骤,这里用MySQL举例。 其他的数据库如MSSQL&#xf…

深入探索 PyTorch 在机器学习中的应用

目录 PyTorch 概述安装 PyTorchPyTorch 的基本概念 张量自动微分 深度学习模型的构建 定义模型损失函数与优化器 训练模型在机器学习中的应用 图像分类自然语言处理强化学习 迁移学习PyTorch 的优势与局限性实际应用案例总结与展望 1. PyTorch 概述 PyTorch 是一个开源的深度…