云网牛站
所在位置:首页 > Linux编程 > 在Fedora Linux上安装Poetry并使用Poetry来管理Python项目

在Fedora Linux上安装Poetry并使用Poetry来管理Python项目

2021-03-09 09:55:08作者:符天稿源:云网牛站

本文介绍使用Poetry在Fedora Linux系统上管理Python项目的方法,内容有:在Fedora上安装Poetry、初始化项目、创建一个虚拟环境、添加依赖项、列出软件包。

 

前言

Python开发人员经常创建一个新的虚拟环境来分离项目依赖项,然后使用pip、pipenv等工具对其进行管理,参考在Fedora系统上安装Pipenv的方法。Poetry是用于简化Python中的依赖项管理和打包的工具。本文将展示如何使用Poetry在Fedora上管理Python项目。

与其他工具不同,Poetry仅使用单个配置文件进行依赖性管理、打包和发布。这样就无需使用其他文件,例如Pipfile、MANIFEST.in、setup.py等。

 

在Fedora上安装Poetry

如果已经使用Fedora 32、33或更高版本,则可以使用以下命令从命令行直接安装Poetry:

$ sudo dnf install poetry

注:在Fedora Silverblue或CoreOs上,Python 3.9.2是核心提交的一部分,可以使用rpm-ostree install poetry。

 

初始化项目

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

$ poetry new poetry-project

用project创建的项目的结构如下所示:

在Fedora Linux上安装Poetry并使用Poetry来管理Python项目

project使用pyproject.toml来管理项目的依赖项。最初,此文件将类似于以下内容:

[tool.poetry]

name = "poetry-project"

version = "0.1.0"

description = ""

authors = ["Kadermiyanyedi <kadermiyanyedi@hotmail.com>"]

[tool.poetry.dependencies]

python = "^3.9"

[tool.poetry.dev-dependencies]

pytest = "^5.2"

[build-system]

requires = ["poetry>=0.12"]

build-backend = "poetry.masonry.api"

注:该文件包含4个部分,如下说明

第一部分包含描述项目的信息,例如项目名称、项目版本等。

第二部分包含项目依赖项,这些依赖关系是构建项目所必需的。

第三部分包含开发依赖关系。

第四部分描述了PEP 517中的building system。

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

$ poetry init

执行此命令后,将看到一个交互式shell程序,用于配置您的项目。

 

创建一个虚拟环境

如果要创建虚拟环境或激活现有虚拟环境,请使用以下命令:

$ poetry shell

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

$ poetry config --list

cache-dir = "/home/username/.cache/pypoetry" 

virtualenvs.create = true 

virtualenvs.in-project = true 

virtualenvs.path = "{cache-dir}/virtualenvs"

更改virtualenvs.in-project配置变量以在项目目录中创建虚拟环境,Poetry命令是:

$ poetry config virtualenv.in-project true

 

添加依赖项

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

$ poetry add django

可以使用带有–dev选项的add命令来标识仅用于开发环境的任何依赖项:

$ poetry add black --dev

add命令创建一个poetry.lock文件,该文件用于跟踪软件包的版本。如果poetry.lock文件不存在,则将安装pyproject.toml中所有依赖项的最新版本。如果poetry.lock确实存在,则Poetry将使用文件中列出的确切版本,以确保包版本与项目中所有工作人员的版本一致。

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

$ poetry install

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

$ poetry install --no-dev

 

列出软件包

show命令列出所有可用的软件包,tree选项将软件包列为树:

$ poetry show --tree

在Fedora Linux上安装Poetry并使用Poetry来管理Python项目

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

$ poetry show requests

在Fedora Linux上安装Poetry并使用Poetry来管理Python项目

最后,如果想了解软件包的最新版本,则可以使用latest选项:

$ poetry show --latest

在Fedora Linux上安装Poetry并使用Poetry来管理Python项目

 

相关主题

安装和使用Pipx,以在隔离环境中安装和运行Python应用程序

精选文章
热门文章