取代Pipenv,Python更好的虚拟环境和依赖库管理:Poetry

Pipenv之前介绍过这个虚拟环境和依赖库管理,感觉还不错,Pipenv有也有不少缺点,比如lock慢,win支持不好,bug多等。然后有人推荐我了Poetry。他可以取代Pipenv,于是,“移情别恋”的我,找到了Python更好的虚拟环境和依赖库管理:Poetry。

我已经转向 poetry 了,poetry 大法就是好!

poetry 比 pipenv 在各种角度上好用很多,poetry 生成的 lock 是跨平台的,也就是说你在 windows 下面生产的 lock 文件不需要担心在 linux 下面会生成不一样的 lock 文件(当然换行符的问题还是存在)

poetry 在安装依赖的时候,就像他的 readme 一样,一般会保证你安装的依赖没有版本冲突问题,但 pipenv 就是单纯的像 pip 一样安装所有依赖,然后把版本写死而已。

什么是Poetry

Poetry 和 Pipenv 类似,是一个 Python 虚拟环境和依赖管理工具,它还提供了包管理功能,比如打包和发布。你可以把它看做是 Pipenv 和 Flit 这些工具的超集。它可以让你用 Poetry 来同时管理 Python 库和 Python 程序。

主页:https://poetry.eustace.io/

源码:https://github.com/sdispater/poetry

文档:https://poetry.eustace.io/docs

取代Pipenv,Python更好的虚拟环境和依赖库管理:Poetry

示例

安装方法:

安装方法基本上比较简单:

<code>curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python/<code>

pip 安装

<code>pip install --user poetry/<code>

测试是否安装成功

<code>poetry --version      /<code>

Python中使用poetry

poetry是使用 pyproject.toml 管理依赖列表和项目的各种meta信息,

<code>poetry init                                    如果在已有的项目中使用来创建一个pyproject.toml文件

poetry new              使用poetry创建一个新依赖管理项目

poetry install 创建虚拟环境 (确保当前目录存在pyproject.toml文件)

poetry shell 激活虚拟环境

poetry run python -V                                查看python版本

poetry update                                            更新所有锁定版本的依赖

poetry update                      更新某个指定的依赖

poetry remove                     卸载删除一个模块

poetry env use python3.7                       让poetry使用python3

#其他还有:
poetry show\t\t\t\t\t\t\t\t\t追踪 & 更新包

poetry show --tree\t\t 添加--tree 参数选项可以查看依赖关系:/<code>

注意事项

设置 PyPI 镜像源,以豆瓣提供的 PyPI 镜像源为例,前面我们讲过了的 pyproject.toml ,你需要在 pyproject.toml 文件里加入这部分内容:

<code>[[tool.poetry.source]]
name = "douban"
url = "https://pypi.doubanio.com/simple/"/<code>

当然,你还是可以选择继续使用 virtualenv 和 pip 这些基础工具,直到有一个更完美的解决方案出现。不过,我其实愿意选择试试新东西,继续努力折腾。

好了,就这么多啦,我是迷神,更多精彩python内容,可以关注我哦,有问题也可以评论哦。


分享到:


相關文章: