【Python系列】使用 Poetry 进行 Python 项目管理

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
    • 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

        • 1. 安装与卸载 Poetry
        • 2. 查看 Poetry 版本
        • 3. 查看 Poetry 的位置
        • 4. 依赖安装
        • Poetry 的优势

在现代软件开发中,Python 因其简洁和强大的功能而广受欢迎。然而,随着项目规模的扩大,依赖管理变得越来越复杂。Poetry,作为一个依赖管理和打包工具,旨在帮助开发者更有效地管理项目依赖。本文将详细介绍如何安装、卸载 Poetry,查看其版本和位置,以及如何安装项目依赖。
在这里插入图片描述

1. 安装与卸载 Poetry

Poetry 可以通过 Python 的包管理器 pip 进行安装。在大多数 Unix-like 系统(如 Linux 和 macOS)和 Windows 上,安装命令如下:

pip install poetry

安装完成后,可以通过以下命令来卸载 Poetry:

pip uninstall poetry

这些命令简单直接,使得 Poetry 的安装和卸载变得非常便捷。

2. 查看 Poetry 版本

在安装 Poetry 之后,我们可能需要查看其版本以确保安装成功或进行版本控制。可以通过以下命令来查看 Poetry 的版本:

poetry --version

此外,如果你需要查看系统中安装的 Python 包的详细信息,包括 Poetry,可以使用 pip 的show命令:

pip show poetry

这将列出 Poetry 的详细信息,包括版本、安装位置等。

3. 查看 Poetry 的位置

在某些情况下,我们可能需要知道 Poetry 的确切安装位置。在 Unix-like 系统中,可以使用which命令来查找 Poetry 的路径:

which poetry

这个命令会返回 Poetry 可执行文件的完整路径,这对于调试和配置环境变量非常有用。

4. 依赖安装

Poetry 的一个核心功能是管理项目依赖。在项目中,我们经常需要安装多个库,而 Poetry 可以帮助我们自动解决依赖冲突,并确保所有依赖都是最新的。以下是在 Linux 和 Windows 系统中安装依赖的命令:

对于 Linux 系统:

poetry lock --no-update -vvv && poetry install --sync --no-cache --no-root -vvv

对于 Windows 系统:

poetry lock --no-update -vvv ; poetry install --sync --no-cache --no-root -vvv

这些命令执行了以下操作:

  • poetry lock --no-update:生成或更新poetry.lock文件,该文件锁定了项目的依赖版本,确保在不同环境中的一致性,--no-update选项防止自动更新依赖。
  • poetry install:安装依赖,--sync确保依赖与poetry.lock文件中锁定的版本一致。
  • --no-cache:禁用缓存,确保每次都从源下载最新的依赖。
  • --no-root:不安装项目本身作为依赖,这对于避免循环依赖非常有用。
  • -vvv:提供详细的输出,有助于调试。
Poetry 的优势

Poetry 不仅仅是一个依赖管理工具,它还提供了许多其他功能,使其成为 Python 项目管理的理想选择:

  • 依赖解析:Poetry 能够自动解决依赖冲突,这是许多其他工具难以做到的。
  • 依赖锁定:通过poetry.lock文件,Poetry 确保在不同环境中的依赖一致性。
  • 虚拟环境管理:Poetry 自动创建和管理虚拟环境,无需手动激活。
  • 包发布:Poetry 简化了包的发布流程,使得将项目发布到 PyPI 变得简单。
  • 依赖更新:Poetry 提供了依赖更新的功能,帮助开发者保持依赖的最新状态。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/912026.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux内核USB2.0驱动框架分析--USB设备枚举过程

一 USB特点 1.1 USB协议版本介绍: USB1.0/1.1(low/fullspeed):传输速率最大为12Mbps,是较早的USB协议版本。 USB2.0(highspeed):传输速率最大为480Mbps,相比USB1.0/1.1…

解决ultralytics的YOLO模型训练中验证集Loss为NaN(或mAP为0)的问题

前言 在使用ultralytics库的YOLO模型时,比如YOLOv8进行目标检测模型训练,遇到一个非常奇怪的问题:训练过程中的验证损失(loss)出现了NaN,而验证的评价指标如mAP50却能正常计算(有时mAP都也为0&…

微信支付现金红包,实现转账到零钱包功能

大家好,我是小悟。 上次说到微信商家转账到零钱要出新玩法,可能会对某些特定的业务产生影响,详细请阅读【微信商家转账到零钱新玩法,却是个不好接受的消息】。 微信支付还有个现金红包的产品,也可以实现转账到用户零…

掌握均值回归,外汇交易盈利新视角

外汇交易是全球金融市场的重要组成部分,它不仅用于国际间结算债权债务,还提供了一个充满盈利机会的金融市场。在这个市场中,货币价格的波动为投资者带来了丰富的交易机会。本文,EagleTrader将详细介绍外汇交易中的一种常用策略——…

mac-泛洪

泛洪攻击的类型 TCP SYN Flood: 攻击者向目标服务器发送大量的 TCP SYN 请求,但不完成握手过程。服务器为每个请求分配资源,最终可能耗尽其连接表,导致无法处理正常请求。 UDP Flood: 攻击者向目标发送大量的 UDP 数据…

【Windows修改Docker Desktop(WSL2)内存分配大小】

记录一下遇到使用Docker Desktop占用内存居高不下的问题 自从使用了Docker Desktop,电脑基本每天都需要重启,内存完全不够用,从16g扩展到24,然后到40G,还是不够用;打开Docker Desktop 运行时间一长&#x…

【06】A-Maven项目SVN设置忽略文件

做Web项目开发时,运用的是Maven管理工具对项目进行管理,在项目构建的过程中自动生成了很多不需要SVN进行管理的文件,SVN在对源码进行版本管理时,需要将其忽略,本文给出了具体解决方案。 SVN设置忽略Maven项目中自动生成…

【数据分享】2024年我国省市县三级的生活服务设施数量(46类设施/Excel/Shp格式)

人才市场、售票处、旅行社等生活服务设施的配置情况是一个城市公共基础设施完善程度的重要体现,一个城市生活服务设施种类越丰富,数量越多,通常能表示这个城市的公共服务水平越高! 本次我们为大家带来的是我国各省份、各地级市、…

【算法】Floyd多源最短路径算法

目录 一、概念 二、思路 三、代码 一、概念 在前面的学习中,我们已经接触了Dijkstra、Bellman-Ford等单源最短路径算法。但首先我们要知道何为单源最短路径,何为多源最短路径 单源最短路径:从图中选取一点,求这个点到图中其他…

【商用存储】希捷磁盘阵列部署实践

文章目录 一、前言1、盘阵类型2、性能规格 二、功能说明1、RAID配置1.1、虚拟池(virtual pool)1.2、线性池(linear pool) 2、磁盘休眠2.1、RBOD2.1.1、功能说明2.1.2、规格限制 3、ADAPT配置3.1、说明3.2、规格限制3.3、配置建议3…

Android Room框架使用指南

Room框架使用指南 项目效果创建应用,配置Gradle1、在app Module的build.gradle配置kapt插件2、配置依赖:3、配置依赖包版本号创建实体类创建DAO1、DAO简介2、WordDao设计以及相关注解说明3、监听数据变化添加Room数据库1、Room数据库简介2、实现Room数据库实现存储库实现View…

Read excerpt(eighteen)——The hidden value of Corporate Social Responsibility

“There is one and only one social responsibility of businesses,” wrote Milton Friedman, a Nobel prize-winning economist, “That is, to use its resources and engage in activities …

纯血鸿蒙系统 HarmonyOS NEXT自动化测试实践

1、测试框架选择 hdc:类似 android 系统的 adb 命令,提供设备信息查询,包管理,调试相关的命令ohos.UiTest:鸿蒙 sdk 的一部分,类似 android sdk 里的uiautomator,基于 Accessibility 服务&…

基于java宠物医院管理系统的设计与实现

一、环境信息 开发语言:JAVA JDK版本:JDK8及以上 数据库:MySql5.6及以上 Maven版本:任意版本 操作系统:Windows、macOS 开发工具:Idea、Eclipse、MyEclipse 开发框架:SpringbootHtmljQueryMysql…

施工企业为什么要用工程项目管理软件?工程项目管理软件的用处是什么?

施工企业一定会遇到哪些问题?工人怠工、材料浪费、数据造假、工期拖延、质量问题、安全隐患等。这些问题正在悄然侵蚀建施工业的经济效益。每一个环节的失控都可能导致巨大的经济损失,还可能损害企业的声誉。面对日益复杂的工程管理环境,如何…

业务模块部署

一、部署前端 1.1 window部署 下载业务模块前端包。 (此包为耐威迪公司发布,请联系耐威迪客服或售后获得) 包名为:业务-xxxx-business (注:xxxx为发布版本号) 此文件部署位置为:……

【Web前端】OOP编程范式

面向对象编程(Object-Oriented Programming,简称 OOP)是一种程序设计思想,它通过将程序视为一组相互作用的对象来设计程序。OOP 提出了一些重要的基本概念,包括类与实例、继承和封装。面向对象编程将系统视为由多个对象…

C++入门基础知识142—【关于C++ 友元函数】

成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C 友元函数的相关内容! 关于…

BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测

BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测 目录 BO-CNN-LSTM回归预测 | MATLAB实现BO-CNN-LSTM贝叶斯优化卷积神经网络-长短期记忆网络多输入单输出回归预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 …

vue实现图片无限滚动播放

本人vue新手菜鸡,文章为自己在项目中遇到问题的记录,如有不足还请大佬指正 文章目录 实现效果代码展示总结 因为刚接触vue,本想着看看能不能用一些element的组件实现图片的轮播效果,尝试使用过element-UI里的走马灯Carouse&#x…