如何在 Fedora 上使用 Poetry 来管理你的 Python 项目?

Python 开发人员经常创建一个新的虚拟环境来分离项目依赖,然后用 pip、pipenv 等工具来管理它们。Poetry 是一个简化 Python 中依赖管理和打包的工具。这篇文章将向你展示如何在 Fedora 上使用 Poetry 来管理你的 Python 项目。 2021-03-14 13:00:36 FedoraPoetry Python HashMap的负载因子初始值为什么是0.75?这篇文章以最通俗的方式告诉你答案 对于HashMap的研究,我之前一直停留在考虑源码是如何实现的,现在当我重新再来看的时候,才发现,系统默认的各种参数值,才是HashMap的精华所在。 2021-03-14 10:24:21 HashMap负载初始值 6个优秀的Git仓库管理实践 抵制在 Git 中添加一些会增加管理难度的东西的冲动;这里有替代方法。  2021-03-14 09:37:45 Git仓库管理代码 Java编程内功-数据结构与算法「前缀,中缀,后缀」 本篇继续给大家介绍关于Java编程的相关知识,今天主要介绍数据结构与算法「前缀,中缀,后缀」,希望能够帮助到你! 2021-03-14 08:27:40 Java数据结构算法 帮你精通JS:函数式array逻辑判断的7个高阶函数 JavaScript是当今流行语言中对函数式编程支持最好的编程语言。我们继续构建函数式编程的基础,在前文中分解介绍了对array数组作变形transform四种方法. 2021-03-14 08:12:02 函数JavaScript语言 学C语言的看过来,最完整进制转换、整数和小数内存存储模型 进制也就是进位计数制,是人为定义的带进位的计数方法。对于任何一种进制---N进制,就表示每一位置上的数运算时都是逢N进一位。 2021-03-14 07:51:49 C语言进制内存存储模型 对网站进行测试的9个要点 以下是测试网站的十个要点,它们可以帮你用更短的时间得出更加准确可信的测试结果。 2021-03-13 17:49:56 网站测试Web程序开发 JavaScript中的 Object.is() 与 === 运算符有什么区别? 如果要检查 JavaScript 中的相等性,有两个比较运算符:双等号运算符(==)和三等号运算符(===)。

Python 开发人员经常创建一个新的虚拟环境来分离项目依赖,然后用 pip、pipenv 等工具来管理它们。Poetry 是一个简化 Python 中依赖管理和打包的工具。这篇文章将向你展示如何在 Fedora 上使用 Poetry 来管理你的 Python 项目。

[[387434]]

Python 开发人员经常创建一个新的虚拟环境来分离项目依赖,然后用pippipenv等工具来管理它们。Poetry 是一个简化 Python 中依赖管理和打包的工具。这篇文章将向你展示如何在 Fedora 上使用 Poetry 来管理你的 Python 项目。

与其他工具不同,Poetry 只使用一个配置文件来进行依赖管理、打包和发布。这消除了对不同文件的需求,如PipfileMANIFEST.insetup.py等。这也比使用多个工具更快。

下面详细介绍一下开始使用 Poetry 时使用的命令。

在 Fedora 上安装 Poetry

如果你已经使用 Fedora 32 或以上版本,你可以使用这个命令直接从命令行安装 Poetry:

  1. $ sudo dnf install poetry

编者注:在 Fedora Silverblue 或 CoreOs上,Python 3.9.2 是核心提交的一部分,你可以用下面的命令安装 Poetry:

  1. rpm-ostree install poetry

初始化一个项目

使用new命令创建一个新项目:

  1. $ poetry new poetry-project

用 Poetry 创建的项目结构是这样的:

  1. ├── poetry_project
  2. │ └── init.py
  3. ├── pyproject.toml
  4. ├── README.rst
  5. └── tests
  6. ├── init.py
  7. └── test_poetry_project.py

Poetry 使用pyproject.toml来管理项目的依赖。最初,这个文件看起来类似于这样:

  1. [tool.poetry]
  2. name = "poetry-project"
  3. version = "0.1.0"
  4. description = ""
  5. authors = ["Kadermiyanyedi <kadermiyanyedi@hotmail.com>"]
  6. [tool.poetry.dependencies]
  7. python = "^3.9"
  8. [tool.poetry.dev-dependencies]
  9. pytest = "^5.2"
  10. [build-system]
  11. requires = ["poetry>=0.12"]
  12. build-backend = "poetry.masonry.api"

这个文件包含 4 个部分:

  • 第一部分包含描述项目的信息,如项目名称、项目版本等。
  • 第二部分包含项目的依赖。这些依赖是构建项目所必需的。
  • 第三部分包含开发依赖。
  • 第四部分描述的是符合PEP 517的构建系统。

如果你已经有一个项目,或者创建了自己的项目文件夹,并且你想使用 Poetry,请在你的项目中运行init命令。

  1. $ poetry init

在这个命令之后,你会看到一个交互式的 shell 来配置你的项目。

创建一个虚拟环境

如果你想创建一个虚拟环境或激活一个现有的虚拟环境,请使用以下命令:

  1. $ poetry shell

Poetry 默认在/home/username/.cache/pypoetry项目中创建虚拟环境。你可以通过编辑 Poetry 配置来更改默认路径。使用下面的命令查看配置列表:

  1. $ poetry config --list
  2. cache-dir = "/home/username/.cache/pypoetry"
  3. virtualenvs.create = true
  4. virtualenvs.in-project = true
  5. virtualenvs.path = "{cache-dir}/virtualenvs"

修改virtualenvs.in-project配置变量,在项目目录下创建一个虚拟环境。Poetry 命令是:

  1. $ poetry config virtualenv.in-project true

添加依赖

使用poetry add命令为项目安装一个依赖:

  1. $ poetry add django

你可以使用带有--dev选项的add命令来识别任何只用于开发环境的依赖:

  1. $ poetry add black --dev

add命令会创建一个poetry.lock文件,用来跟踪软件包的版本。如果poetry.lock文件不存在,那么会安装pyproject.toml中所有依赖项的最新版本。如果poetry.lock存在,Poetry 会使用文件中列出的确切版本,以确保每个使用这个项目的人的软件包版本是一致的。

使用poetry install命令来安装当前项目中的所有依赖:

  1. $ poetry install

通过使用--no-dev选项防止安装开发依赖:

  1. $ poetry install --no-dev

列出软件包

show命令会列出所有可用的软件包。--tree选项将以树状列出软件包:

  1. $ poetry show --tree
  2. django 3.1.7 A high-level Python Web framework that encourages rapid development and clean, pragmatic design.
  3. ├── asgiref >=3.2.10,<4
  4. ├── pytz *
  5. └── sqlparse >=0.2.2

包含软件包名称,以列出特定软件包的详细信息:

  1. $ poetry show requests
  2. name : requests
  3. version : 2.25.1
  4. description : Python HTTP for Humans.
  5. dependencies
  6. - certifi >=2017.4.17
  7. - chardet >=3.0.2,<5
  8. - idna >=2.5,<3
  9. - urllib3 >=1.21.1,<1.27

最后,如果你想知道软件包的最新版本,你可以通过--latest选项:

  1. $ poetry show --latest
  2. idna 2.10 3.1 Internationalized Domain Names in Applications
  3. asgiref 3.3.1 3.3.1 ASGI specs, helper code, and adapters

©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经

(0)
打赏 微信扫码打赏 微信扫码打赏 支付宝扫码打赏 支付宝扫码打赏
清一色的头像清一色管理团队
上一篇 2023年5月5日 16:31
下一篇 2023年5月5日 16:31

相关推荐

发表评论

登录后才能评论

联系我们

在线咨询:1643011589-QQbutton

手机:13798586780

QQ/微信:1074760229

QQ群:551893940

工作时间:工作日9:00-18:00,节假日休息

关注微信