首页 > 后端开发 > Python教程 > 紫外线作为诗歌的替代品

紫外线作为诗歌的替代品

Susan Sarandon
发布: 2024-12-03 14:20:15
原创
384 人浏览过

Python 的包管理器太多了。当然,这有一个明显的原因 - 内置包管理器 pip 的功能匮乏。但内心的完美主义者仍然想要一个开箱即用的简单解决方案。安装 Python - 你会立即获得一个快速且方便的包管理器,最好是一个 Python 版本管理器。但相反,你会得到点。当然,有些人确实使用它,但诗歌、pdm、conda、pipenv 或至少 pip-tools 仍然更方便。

嗯,好吧,看来诗歌对每个人都有好处。我自己在大多数项目中都使用它。但是安装依赖项开始显得很慢——尤其是在重建 docker 容器时。另外,安装诗歌本身或更改 python 版本会遇到麻烦 - 例如,您可以通过 pyenv 更改版本,而当您尝试重新创建环境时,诗歌会给出错误。尽管假设它可以与不同版本的Python一起工作。当然,这可以很容易地解决——通过指定解释器的完整路径,但这仍然是一个拐杖。以及安装相同的 pyenv,并通常使用它。而且似乎没有什么可以控制 python 版本了。

因此,二月份,Ruff 的创建者出现了一个有趣的解决方案。用 Rast 编写的 UV 包管理器。当然,纯粹基于控制台,语法很容易让人想起诗歌。就功能而言,它们几乎是一样的,但有很多好处,而且速度快了好几倍。该文档显示了同一组依赖项的安装时间图:

UV как альтернатива Poetry

语法与诗歌非常相似。例如,这就是创建项目的方式(直接进入目录):

uv init project
cd project
登录后复制

我们有这样的结构:

project
├── .python-version
├── hello.py
├── pyproject.toml
└── README.md
登录后复制

依赖项,如诗歌,保存在 pyproject.toml 配置中,python 版本保存在 .python-version 中。

让我们创建一个虚拟环境:

uv venv
登录后复制

添加 SQLAlchemy 取决于:

uv add sqlalchemy
登录后复制

或者我们可以添加特定版本:

uv add sqlalchemy@2.0.32
登录后复制

现在让我们删除:

uv remove sqlalchemy
登录后复制

现在sugar - python 版本管理。让我们安装 3.11.9 并创建一个带有这样的解释器的环境。

uv python install 3.11.9
uv venv --python 3.11.9
登录后复制

Python版本将保存在.python-version中,你不需要每次更改解释器时都向包管理器指出这一点,因为UV就是包管理器。而且,你甚至不用手动安装版本,而是立即创建一个想要的版本的环境:如果没有安装,那么UV本身就会拉取它,也就是说,你不用考虑无论如何 - 好吧,这真是令人兴奋。

就像诗歌一样,PyPI 上有构建和发布包的功能。您可以使用两个命令构建容器并发布包:

uv build
uv publish
登录后复制

您还可以使用UV作为监督者,并使用uv run运行脚本和应用程序

蛋糕上的樱桃是 docker 镜像。

FROM ghcr.io/astral-sh/uv:python3.12

WORKDIR /app

RUN uv venv

CMD ["run", "app"]
登录后复制

您不需要拉取Python图像并通过pip在那里安装UV,您可以立即拉取UV图像并享受乐趣。另外还有很多其他的技巧,但是关于坞站中的这一点(顺便说一句,这是非常清楚的)-那些需要在坞站中使用这些芯片的人不会害怕进入坞站。

总的来说,这是一个非常方便的工具,也是诗歌的一个很好的替代品。目前还没有任何 IDE 中支持 UV,但这只是时间问题。有这么多功能真是太酷了,我希望这个项目能够得到发展。分享这篇文章并写下你使用的东西。

P.S.你需要沉迷于TGC:https://t.me/dmkjfss

以上是紫外线作为诗歌的替代品的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板