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 ...
随机推荐
- vue导出word文档
具体需求 在我的疫情可视化项目中有一个功能需要导出word文档,在页面点击按钮后处理数据生成word文件,然后自动下载文档. 实现步骤 多番查询后发现前端导出word,使用docxtemplater较 ...
- Redis 入门 - 简介
Redis是Remote Dictionary Server的缩写,可以翻译成远程字典服务.Redis是用C语言编写的开源项目. Redis 最主要的特点就是高性能,对于简单的键值读取速度可以达到10 ...
- 利用CSS 实现环形百分比进度展示
先看效果图: UI设计了这样的效果,已读人数占总人数的百分比,环形展示. 这里可以用echarts图表,也可以用css实现,因为我是在小程序环境下,考虑到包大小体积,采用了css实现. 核心就是一行代 ...
- 记一次 .NET某上位机视觉程序 卡死分析
一:背景 1. 讲故事 前段时间有位朋友找到我,说他的窗体程序在客户这边出现了卡死,让我帮忙看下怎么回事?dump也生成了,既然有dump了那就上 windbg 分析吧. 二:WinDbg 分析 1. ...
- EditPlus各个版本的注册码,可用
原文链接:https://www.cnblogs.com/shihaiming/p/6422441.html 工具: editplus注册码生成链接: http://www.jb51.net/tool ...
- GPT最佳实践:五分钟打造你自己的GPT
前几天OpenAI的My GPTs栏目还是灰色的,就在今天已经开放使用了.有幸第一时间体验了一把生成自己的GPT,效果着实惊艳!!!我打造的GPT模型我会放到文章末尾,大家感兴趣也可以自己体验一下. ...
- AJAX——简介
AJAX 同步与异步 AJAX 快速入门
- Linux板子与ubuntu交互,NFS配置
第0步:保证你的ubuntu能上网,可以选择NAT方式让ubuntu上网. 第一步:安装NFS服务 sudo apt-get install nfs-kernel-server portmap 第二步 ...
- KubeSphere 社区双周报| 2024.07.19-08.01
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- 微宏科技基于 KubeSphere 的微服务架构实践
作者:尹珉,KubeSphere Ambassador.contributor,KubeSphere 社区用户委员会杭州站站长. 公司简介 杭州微宏科技有限公司于 2012 年成立,专注于业务流程管理 ...