Python包管理工具之poetry

简介: 之前讲了一个pipenv包管理工具,这里说另外一个poetry工具,它是一个Python 虚拟环境和依赖管理工具。还提供了打包发布的功能。

一、poetry安装


MacOS下使用官网推荐方式安装,安装路径是:$HOME/.poetry/bin


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


有与网络问题可能会导致Timeout的问题,可以参考这篇文章解决:


https://www.ayunw.cn/posts/terminal_configure_proxy_with_clash/


如果以上都不能解决,还可以用pipx工具安装:


# MacOS安装pipx工具
brew install pipx
pipx ensurepath
# 根据以下命令提示设置pipx的shell补全
pipx completions
# pipx安装poetry
❯ pipx install poetry
❯ poetry --version
Poetry version 1.1.13
# 它会自动添加环境变量到~/.zshrc中
# pipx升级poetry
pipx upgrade poetry
# pipx卸载poetry
pipx uninstall poetry
# 设置命令补全
❯ mkdir $ZSH_CUSTOM/plugins/poetry
❯ poetry completions zsh > $ZSH_CUSTOM/plugins/poetry/_poetry
❯ vi ~/.zshrc
plugins(
  poetry
  ...
  )
❯ source ~/.zshrc


二、使用poetry


创建项目


poetry new demo1
demo1
├── pyproject.toml
├── README.rst
├── demo1
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_demo1.py


创建虚拟环境


cd demo1
poetry install


设置Pypi的源


在 pyproject.toml 文件末尾追加以下内容:


[[tool.poetry.source]]
name = "aliyun"
url = "http://mirrors.aliyun.com/pypi/simple"
default = true


激活使用虚拟环境


# 不激活虚拟环境使用命令
poetry run python start.py
# 激活虚拟环境使用命令
poetry shell
# 安装包
poetry add flask
# 查看安装的所有包
poetry show
# 查看单个包
poetry show flask
# 卸载包
poetry remove flask
# 退出虚拟环境
exit
# 查看虚拟环境路径
poetry env info --path
# 删除虚拟环境
poetry env remove /full/path/to/python


三、Pycharm使用Poetry


Pycharm中,poetry是以一个插件的形式存在的,所以首先打开Pycharm需要安装插件。

安装完成后新建项目,就可以选择使用Poetry了。


相关文章
|
2月前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
3月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
206 92
|
4月前
|
数据安全/隐私保护 Python
微信群成员导出工具, 微信群成员导出软件, 微信群管理工具软件【python】
这个工具提供了完整的微信群成员导出功能,包括登录微信、获取群列表、导出成员信息到Excel等功能
|
2月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
225 3
|
3月前
|
数据处理 开发工具 开发者
requirement.txt 管理python包依赖
在 Python 项目中,`requirements.txt` 用于记录依赖库及其版本,便于环境复现。本文介绍了多种生成该文件的方法:基础方法使用 `pip freeze`,进阶方法使用 `pipreqs`,专业方法使用 `poetry` 或 `pipenv`,以及手动维护方式。每种方法适用不同场景,涵盖从简单导出到复杂依赖管理,并提供常见问题的解决方案,帮助开发者高效生成精准的依赖列表,确保项目环境一致性。
1025 4
|
3月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
694 1
|
2月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
489 0
|
3月前
|
API 数据安全/隐私保护 Python
拼多多批量上架软件, 电商一键上货发布工具,python电商框架分享
多线程批量上传架构,支持并发处理商品数据 完整的拼多多API签名和token管理机制
|
3月前
|
安全 API 数据安全/隐私保护
|
3月前
|
Java API 数据安全/隐私保护
淘宝一键上货发布软件,淘宝批量发布上架工具, 淘宝批量上架脚本【python】
这个Python脚本实现了以下功能: 完整的淘宝API调用封装

推荐镜像

更多