python项目依赖管理之poetry
poetry,是一个强大的Python项目依赖管理工具,旨在简化和优化项目的依赖管理过程。它提供了一种简单且一致的方式来定义、安装和管理项目所需的依赖项。本文将详细介绍poetry库的安装方法、使用方法、优缺点、应用场景和总结。
安装
在开始使用poetry库之前,您需要进行一些安装准备。以下是安装poetry库的步骤:
确保您的系统上已安装了Python 3.6或更高版本以及pip。
使用以下命令通过pip安装poetry库:
pip install poetry
安装完成后,您可以在终端中运行poetry --version命令来验证poetry是否成功安装。
使用方法
poetry库提供了简单而强大的命令行工具,使用户能够轻松地定义、安装和管理Python项目的依赖项。以下是poetry库的几个关键功能和使用方法:
项目初始化:通过运行poetry init命令,您可以创建一个新的Python项目并生成项目的初始配置文件。
添加依赖项:使用poetry add命令,可以方便地添加项目所需的依赖项,并自动更新项目的配置文件。
安装依赖项:通过运行poetry install命令,可以自动下载并安装项目所需的依赖项。
管理虚拟环境:poetry库还内置了虚拟环境管理功能,可帮助您在项目中创建和管理虚拟环境,以隔离各个项目的依赖项。
发布和打包:使用poetry publish命令,您可以将您的Python包发布到PyPI等包管理平台,以便其他人使用。
常用命令
# 创建新的Python项目
poetry new myproject # 进入项目目录
cd myproject # 添加项目依赖项
poetry add requests # 安装依赖项
poetry install
# 更新依赖到最新版本
poetry update # 运行Python脚本
poetry run python myscript.py # 查看版本
poetry --version # 初始化配置文件
poetry init # 查看配置
poetry config --list # 创建虚拟环境
poetry env use python版本 # 进入虚拟环境
poetry shell # 退出虚拟环境
deactivate
# 删除虚拟环境
poetry env remove # 注意点
1)默认创建的虚拟环境是并没有在项目目录下, 但是我们一般放到项目的根目录下方便查看,就需要更改虚拟环境路径
poetry config virtualenvs.in-project true
2)生成的poetry.lock推荐上传到版本控制中,可以锁定使用的版本
pyproject.toml
优缺点
优点:
poetry库提供了简单且一致的方式来定义、安装和管理Python项目的依赖项。
poetry库具有直观的命令行工具,易于使用和上手。
poetry库支持虚拟环境管理,以隔离各个项目的依赖项,使项目环境更加清晰、可靠。
缺点:
poetry库的学习曲线较陡峭,需要一些时间来熟悉和理解其工作原理。
对于一些特殊的项目结构或依赖项配置,poetry可能会有一定的限制和不灵活性。
在Pycharm中配置poetry环境
一般拿到一个含有poetry环境的项目,使用pycharm打开,会自动识别poetry解释器。如果没有识别 需要手动添加,如下所示:
基础解释器:选择对应虚拟环境的Python可执行文件。
Poetry可执行文件,选择安装在本地的Poetry可执行文件。

更改pypi源:
# --default 设置为默认源
# 阿里源:
poetry source add ali https://mirrors.aliyun.com/pypi/simple/ --default
# 腾讯源:
poetry source add tencent https://mirrors.cloud.tencent.com/pypi/simple/
# 清华源:
poetry source add tsinghua https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/
删除源
poetry source remove 源的名字
查看源
poetry source show
应用场景
poetry适用于以下应用场景:
Python项目依赖管理:poetry库可以帮助开发者轻松地定义、安装和管理项目的依赖项,并提供虚拟环境管理功能。
包发布和分享:使用poetry库的发布功能,您可以将自己开发的Python包上传到包管理平台,与其他开发者分享和使用。
项目迁移和部署:poetry库的配置文件可以方便地跨不同环境和机器进行项目迁移和部署,确保环境的一致性和可重复性。
python项目依赖管理之poetry的更多相关文章
- python项目依赖管理分享迁移后重建开发环境(一)virtualenv 和 pip
作者:Panda Fang 出处:http://www.cnblogs.com/lonkiss/p/rebuild-development-environment-with-virtualenv-an ...
- Maven多模块项目依赖管理
Maven多模块项目依赖管理及dependencies与dependencyManagement的区别 转自:http://blog.csdn.net/liutengteng130/article/d ...
- 查找python项目依赖并生成requirements.txt——pipreqs 真是很好用啊
查找python项目依赖并生成requirements.txt 转自:http://blog.csdn.net/orangleliu/article/details/60958525 一起开发项目的时 ...
- Maven解读:项目依赖管理如何优化
Github地址:https://github.com/zwjlpeng/Maven_Detail Maven最大的好处莫过于其强大的依赖管理系统,在Pom配置文件中指定项目需要的Jar包的坐标,Ma ...
- python之项目依赖管理
生成所有依赖清单 requirements.txt 1. pipreqs 工具 安装) pip install pipreqs 执行生成依赖列表命令) pipreqs ./ 完善版本: pipreq ...
- Python项目依赖并生成requirements.txt
一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt. 如果一个项目使用时virtualenv环境,还好办 pip ...
- pipreqs------查找python项目依赖并生成requirements.txt
项目开发的时候,总是要搭建和部署环境,这时,就需要一个python第三方包的list,一般叫做requirements.txt.如果项目使用virtualenv环境,直接使用pip freeze即可, ...
- pipreqs------查找python项目依赖并生成requirement
一起开发项目的时候总是要搭建环境和部署环境的,这个时候必须得有个python第三方包的list,一般都叫做requirements.txt. 如果一个项目使用时virtualenv环境,还好办 pip ...
- 查找Python项目依赖的库并生成requirements.txt
使用pip freeze pip freeze > requirements.txt 这种方式配合virtualenv 才好使,否则把整个环境中的包都列出来了. 使用 pipreqs 这个工具的 ...
- 查找python项目依赖并生成requirements.txt
1.如果使用virtualenv环境,直接使用 pip freeze > requirements.txt ➜ ~ .virtualenvs/xxx/bin/pip freeze > r ...
随机推荐
- OpenTelemetry 实战:gRPC 监控的实现原理
前言 最近在给 opentelemetry-java-instrumentation 提交了一个 PR,是关于给 gRPC 新增四个 metrics: rpc.client.request.size: ...
- 游戏AI行为决策——GOAP(目标导向型行动规划)
游戏AI行为决策--GOAP(附代码与项目) 新的一年即将到来,感觉还剩一种常见的游戏AI决策方法不讲的话,有些过意不去.就在这年的尾巴与大家一起交流下「目标导向型行为规划(GOAP)」吧! 另外,我 ...
- Open Graph protocol
大纲介绍 Open Graph protocol 是 facebook 2010 年推出的一套规范, 用途是通过一些简单的 meta tag 来描述网站的内容. 这样在 sharing 网址的时候就可 ...
- Kubernetes Pod原理(十六)
一.Pod Kubernetes 最基本的调度单元 前面我们了解了 Kubernetes 的基本架构,以及如何使用资源清单在集群中部署一个应用.我们也了解到了 Pod 是 Kubernetes 集群中 ...
- PHP面试,Redis
1. 什么是Redis? Redis(Remote Dictionary Server)是一个开源的内存数据存储系统,它可以用作数据库.缓存和消息中间件.它支持多种数据结构,如字符串.哈希.列表.集合 ...
- USB-DFP UFP DRP模式
USB Type-C 接口支持三种模式:DFP(Downstream Facing Port).UFP(Upstream Facing Port)和 DRP(Dual Role Port).虽然这些术 ...
- 使用hexo进行github博客搭建
1.你必须建一个存储库,这个存储库要和你的github名称一致(不然就会404),如下图: 2.如果是window配置,需要安装git和node.js 3.下载hexo npm config set ...
- 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年6月刊
本文为大家整理了墨天轮数据社区2023年6月发布的优质技术文章/文档,主题涵盖Oracle.MySQL.PostgreSQL等数据库的安装配置.故障处理.性能优化等日常实践操作,以及常用脚本.注意事项 ...
- “技术沙龙”来袭,邀您一同探讨 Serverless 数据库技术最佳实践
如今,随着数据库的上云趋势,企业用户对业务连续性的要求越来越高,基于Serverless架构下的数据库也应运而生. Serverless数据库技术可以满足客户在公有云计算环境下根据业务发展弹性扩展集群 ...
- 用自定义功能区完成Excel两种颜色的交错填充
今天需要用Excel中的填充颜色完成两种颜色的交错填充 在excel中,选择一个颜色填充后,再切换到另一个颜色,再点击填充.操作起来会显得比较笨重 于是萌生了一个想法,是否可以通过Excel的自定义功 ...