poetry的简单介绍

poetry的安装与使用

相关网址

官网:https://python-poetry.org/

github: https://github.com/python-poetry/poetry

参考blog:https://blog.kyomind.tw/python-poetry/

介绍

官网自我介绍:python packaging and dependency management made easy

大概的意思是:让python的打包依赖管理更容易

简单的来说,poetry类似于pip可以进行包管理,

但是又比pip强大的多,

它还包含以下功能:

  • 虚拟环境管理

  • 包的依赖管理

  • 代码的打包发布

本文介绍版本为:Poetry (version 1.5.1)

现在的版本是:1.8.3版本;

pip的不足

pip在我们第一次接触python就使用到了,

但是一些功能的不完善,

导致了其他包管理的出现。

pip uninstall的困境,

以Flask为例:

在我们使用pip install flask时,

因为flask内部依赖于其他包,

WerkzeugJinja2click等,

所以安装的时候

pip会连同这些依赖一同安装(这很方便),

但是在我们不需要flask的时候,

我们需要使用pip uninstall flask从环境中把flask移除时,

pip并不会帮助我们把这些依赖包一同移除,

而只会移除flask自己本身。

总结一句话:

安装包时候一起安装依赖,卸载包时候不能一起卸载依赖;

这时候我们就需要

自己一步步去卸载flask所依赖的包,

但更多的时候,

我们并不清楚flask依赖的包有哪些,

所以,当我们卸载包的时候就变得很难受。


这个时候,

poetry出现了,

poetry拥有包的依赖性管理功能,

我们可以很方便的查看包与包之间的依赖关系,

在我们使用poetry移除包的时候,

它会自己帮助我们处理包的依赖关系,并一同卸载。

安装

安装方式有两种,

一是使用官方提供的脚本安装

二是使用pip安装。

使用官方提供脚本安装

官方话术:

We provide a custom installer
that will install Poetry
in a new virtual environment
to isolate it
from the rest of your system.

This ensures that
dependencies will not
be accidentally upgraded or uninstalled,
and allows Poetry
to manage its own environment.

意思就是:

他们提供了一个安装程序,

会在一个新的虚拟环境中安装poetry,

以确保poetry的依赖不会被错误的升级或者删除。

Liunx/MacOS/WSL

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

Windows

$ (Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -

上面的命令很有意思;

详细解释这个命令的文章,可以参考:https://blog.csdn.net/weixin_41748874/article/details/142372615


下面我要执行这个命令,要在powershell中执行,那么就要设置powershell的代理。

参考这篇文章

设置powershell代理;

$env:HTTP_PROXY="http://127.0.0.1:4890"
$env:HTTPS_PROXY="http://127.0.0.1:4890"

默认安装目录

默认安装目录:

MacOS: ~/Library/Application Support/pypoetry

Linux/Unix: ~/.local/share/pypoetry

Windows: %APPDATA%\pypoetry

自定义安装目录

也可以使用POETRY_HOME环境变量设置安装目录

curl -sSL https://install.python-poetry.org | POETRY_HOME=/etc/poetry python3 -

设置POETRY_HOME后的安装位置为$POETRY_HOME/venv/bin/poetry

设置$PATH环境变量以便更方便的使用poetry


poetry安装的时候,

自动帮我们在以下目录创建了软连接

可以将以下目录添加到$PATH中:

  • Unix: $HOME/.local/bin

  • Windows: %APPDATA%\Python\Scripts

$POETRY_HOME/bin if $POETRY_HOME was set.

或者

直接将安装目录的绝对路径

添加到$PATH中:

MacOS: ~/Library/Application Support/pypoetry/venv/bin/poetry

Linux/Unix: ~/.local/share/pypoetry/venv/bin/poetry

Windows: %APPDATA%\pypoetry\venv\Scripts\poetry

$POETRY_HOME/venv/bin/poetry if $POETRY_HOME was set.

使用pip安装

需要使用的虚拟环境中执行

pip install poetry

执行效果如下:

image-20240920002659293

c:\program files\python310\lib\site-packages

image-20240920002730185

image-20240920002843558

image-20240920002859360

image-20240920003309395

C:\Users\codezsx\AppData\Local\pypoetry\Cache

image-20240920003903424

poetry source add ali https://mirrors.aliyun.com/pypi/simple/ --default

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值