首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
【python虚拟环境管理】【mac m3】使用poetry管理python项目
📅 2026/11/3 18:20:23
✍️ 爱科研究院
👁 阅读 3,247
文章目录一. 为什么选择poetry二. poetry相关操作1. 创建并激活环境2. 依赖包管理2.1. 安装项目依赖1.2. 管理不同开发环境的依赖1.3. 依赖维护1.4. 项目相关Poetry是Python中用于依赖管理和打包的工具。它允许您声明项目所依赖的库并将为您管理安装/更新它们。Poetry提供了一个锁定文件以确保可重复安装并可以构建用于分发的项目。一. 为什么选择poetry在项目规模扩大时依赖关系管理变得更为复杂此时为什么Poetry 这样的工具变得必要增加的依赖关系数量 随着项目规模的增大项目通常会引入更多的依赖关系。不同的依赖可能需要特定版本而这可能导致依赖冲突。环境难以重现 当项目的依赖关系数量增加时使用传统的依赖管理工具如 pip 或 Conda可能会导致环境难以重现。这意味着在不同的开发环境或部署环境中依赖的版本和配置可能会有所不同从而增加了出现问题的可能性。维护困难 仅仅依靠 pip 或 Conda 进行依赖管理可能需要手动维护 requirements.txt 或 environment.yml 等文件。这种方式可能导致配置文件的冗长和复杂性增加了维护项目一致性的难度。Poetry 的优势Poetry 提供了一个新的方法来管理 Python 项目的依赖关系和环境。它通过统一的 pyproject.toml 文件来管理项目的依赖提供了更简洁、更清晰的方式定义项目的依赖关系和版本约束。Poetry 还支持锁定依赖版本确保在不同的环境中都可以重现相同的依赖关系从而增强了项目的可重现性和一致性。Poetry 还包括便捷的虚拟环境管理功能可以帮助隔离项目环境避免与系统或其他项目的依赖冲突。此外Poetry 支持项目的打包和发布使得分发 Python 应用程序变得更加简单和一致。二. poetry相关操作1. 创建并激活环境创建新的 Poetry 项目# my-project 虚拟环境名称#这个命令会创建一个名为 my-project 的新目录并在其中生成一个基本的 Poetry 项目结构。# 可以使用 --path 或 -p 选项来指定一个特定的目录。poetry new my-project项目初始化# 如果是已有项目转为使用poetry作为依赖管理可以进行初始化poetry init激活虚拟环境# 在项目创建后通过如下命令来激活环境# 这个命令会安装 pyproject.toml 中定义的所有依赖项并激活虚拟环境。poetryinstall查看当前环境信息poetryenvinfo2. 依赖包管理2.1. 安装项目依赖# 安装pyproject.toml文件中的全部依赖poetryinstall# 安装最新稳定版本的flaskpoetryaddnumpy# 指定具体的版本poetryaddflask2.22.0当然也可以使用pip来安装依赖只要注意pip安装在此虚拟环境下。1.2. 管理不同开发环境的依赖通过添加配置参数–dev来区分不同环境下的依赖包。# 指定为开发依赖会写到pyproject.toml中的[tool.poetry.dev-dependencies]区域poetryaddpytest--dev# 只安装非development环境的依赖一般部署时使用poetryinstall--no-dev1.3. 依赖维护# 更新所有锁定版本的依赖包poetry update#更新指定依赖包poetry update numpy# 卸载依赖包poetry remove numpy1.4. 项目相关# 查看项目安装的依赖poetry show# 查看可以更新的依赖poetry show--outdated# 树形结构查看项目安装的依赖poetry show-t参考https://blog.csdn.net/qq_40851623/article/details/135769991
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/11/3 18:20:23
【python基础】python基础习题练习(一)
2026/11/3 18:15:22
快恢复贴片整流桥Z4RGP30MPH与Z4PAK封装:选型、热设计与EMI实战
2026/11/3 18:15:22
JavaScript 知识点
2026/11/3 20:21:32
UFS 4.0 存储规范详解:架构、机制与性能优化实践
2026/11/3 20:21:32
BalloonWidget:富文本提示框组件的设计与实现
2026/11/3 20:21:32
MySQL 8查询性能优化实战指南
2026/11/3 20:21:32
4GB老手机提速:系统级加速引擎与Linux轻量终端实操
2026/11/3 20:16:32
HarmonyOS图像处理优化:高精度头像裁剪实践
2026/11/3 20:16:32
模板错误消息优化:提升开发效率的关键技术
2026/11/3 0:03:28
淘宝商品详情API开发实战与性能优化指南
2026/11/3 0:03:28
Unity Package Manager刷新错误排查与解决方案
2026/11/3 0:03:28
Java record 规范构造器能否被反序列化或反射绕过
2026/11/3 4:05:41
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
2026/11/3 4:05:35
DRV8818PWPR与R7FA8M1AHECBD工业步进驱动实战指南
2026/11/3 4:05:30
STM32与DRV8818双极步进电机驱动方案:从选型到调试全流程解析
2026/11/3 4:05:41
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
2026/11/3 4:05:35
DRV8818PWPR与R7FA8M1AHECBD工业步进驱动实战指南
2026/11/3 4:05:30
STM32与DRV8818双极步进电机驱动方案:从选型到调试全流程解析