Python包管理工具之Poetry

开发 开发工具
今天给大家介绍一个poetry工具,它是一个Python 虚拟环境和依赖管理工具。还提供了打包发布的功能。

前言

之前讲了一个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了。

责任编辑:姜华 来源: 运维开发故事
相关推荐

2022-06-28 16:30:26

管理工具Python

2022-08-03 08:02:46

PDM工具Python

2022-02-07 23:03:07

Python工具管理库

2022-05-09 19:19:36

Pnpm管理工具

2024-01-30 09:08:07

PoetryPython包管理工具

2013-10-21 10:01:04

编码工具扩展

2010-02-23 17:21:06

Fedora yum

2011-08-12 10:38:09

MongoDB

2022-06-15 15:09:48

管理工具

2015-09-14 16:12:23

命令DNFLinux

2012-04-09 09:43:49

云计算云管理

2024-03-05 08:30:13

RustPython工具

2020-09-30 14:05:22

网络管理

2009-04-24 21:13:45

服务器虚拟化Vmware

2020-10-30 11:18:47

网络技术工具

2012-12-06 11:31:40

虚拟化

2023-08-04 00:06:34

2022-08-10 16:44:08

Linux

2012-02-22 13:36:43

云计算

2010-05-25 18:36:54

MySQL管理工具
点赞
收藏

51CTO技术栈公众号