溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在Fedora上如何使用Poetry管理Python項目

發(fā)布時間:2021-08-23 17:32:37 來源:億速云 閱讀:150 作者:chen 欄目:系統(tǒng)運維

這篇文章主要介紹“在Fedora上如何使用Poetry管理Python項目”,在日常操作中,相信很多人在在Fedora上如何使用Poetry管理Python項目問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”在Fedora上如何使用Poetry管理Python項目”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Python 開發(fā)人員經(jīng)常創(chuàng)建一個新的虛擬環(huán)境來分離項目依賴,然后用 pip、pipenv 等工具來管理它們。Poetry 是一個簡化 Python 中依賴管理和打包的工具。這篇文章將向你展示如何在 Fedora 上使用 Poetry 來管理你的 Python 項目。

與其他工具不同,Poetry 只使用一個配置文件來進行依賴管理、打包和發(fā)布。這消除了對不同文件的需求,如 PipfileMANIFEST.in、setup.py 等。這也比使用多個工具更快。

下面詳細介紹一下開始使用 Poetry 時使用的命令。

在 Fedora 上安裝 Poetry

如果你已經(jīng)使用 Fedora 32 或以上版本,你可以使用這個命令直接從命令行安裝 Poetry:

$ sudo dnf install poetry

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

rpm-ostree install poetry

初始化一個項目

使用 new 命令創(chuàng)建一個新項目:

$ poetry new poetry-project

用 Poetry 創(chuàng)建的項目結(jié)構(gòu)是這樣的:

├── poetry_project│   └── init.py├── pyproject.toml├── README.rst└── tests    ├── init.py    └── test_poetry_project.py

Poetry 使用 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 個部分:

  • 第一部分包含描述項目的信息,如項目名稱、項目版本等。

  • 第二部分包含項目的依賴。這些依賴是構(gòu)建項目所必需的。

  • 第三部分包含開發(fā)依賴。

  • 第四部分描述的是符合 PEP 517 的構(gòu)建系統(tǒng)。

如果你已經(jīng)有一個項目,或者創(chuàng)建了自己的項目文件夾,并且你想使用 Poetry,請在你的項目中運行 init 命令。

$ poetry init

在這個命令之后,你會看到一個交互式的 shell 來配置你的項目。

創(chuàng)建一個虛擬環(huán)境

如果你想創(chuàng)建一個虛擬環(huán)境或激活一個現(xiàn)有的虛擬環(huán)境,請使用以下命令:

$ poetry shell

Poetry 默認在 /home/username/.cache/pypoetry 項目中創(chuàng)建虛擬環(huán)境。你可以通過編輯 Poetry 配置來更改默認路徑。使用下面的命令查看配置列表:

$ poetry config --list cache-dir = "/home/username/.cache/pypoetry"virtualenvs.create = truevirtualenvs.in-project = truevirtualenvs.path = "{cache-dir}/virtualenvs"

修改 virtualenvs.in-project 配置變量,在項目目錄下創(chuàng)建一個虛擬環(huán)境。Poetry 命令是:

$ poetry config virtualenv.in-project true

添加依賴

使用 poetry add 命令為項目安裝一個依賴:

$ poetry add django

你可以使用帶有 --dev 選項的 add 命令來識別任何只用于開發(fā)環(huán)境的依賴:

$ poetry add black --dev

add 命令會創(chuàng)建一個 poetry.lock 文件,用來跟蹤軟件包的版本。如果 poetry.lock 文件不存在,那么會安裝 pyproject.toml 中所有依賴項的最新版本。如果 poetry.lock 存在,Poetry 會使用文件中列出的確切版本,以確保每個使用這個項目的人的軟件包版本是一致的。

使用 poetry install 命令來安裝當前項目中的所有依賴:

$ poetry install

通過使用 --no-dev 選項防止安裝開發(fā)依賴:

$ poetry install --no-dev

列出軟件包

show 命令會列出所有可用的軟件包。--tree 選項將以樹狀列出軟件包:

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

包含軟件包名稱,以列出特定軟件包的詳細信息:

$ poetry show requests name         : requestsversion      : 2.25.1description  : Python HTTP for Humans. dependencies - certifi >=2017.4.17 - chardet >=3.0.2,<5 - idna >=2.5,<3 - urllib3 >=1.21.1,<1.27

最后,如果你想知道軟件包的最新版本,你可以通過 --latest 選項:

$ poetry show --latest idna     2.10      3.1    Internationalized Domain Names in Applicationsasgiref  3.3.1     3.3.1  ASGI specs, helper code, and adapters

到此,關(guān)于“在Fedora上如何使用Poetry管理Python項目”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI