最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python項(xiàng)目管理的利器Poetry的使用

 更新時(shí)間:2025年04月21日 11:25:07   作者:vortex5  
在?Python?項(xiàng)目開(kāi)發(fā)中,包管理、依賴(lài)管理和虛擬環(huán)境的創(chuàng)建一直是開(kāi)發(fā)者們經(jīng)常面對(duì)的難題,本文主要介紹了Python項(xiàng)目管理的利器Poetry的使用,具有一定的參考價(jià)值,感興趣的可以了解一下

在 Python 項(xiàng)目開(kāi)發(fā)中,包管理、依賴(lài)管理和虛擬環(huán)境的創(chuàng)建一直是開(kāi)發(fā)者們經(jīng)常面對(duì)的難題。傳統(tǒng)上,開(kāi)發(fā)者通常會(huì)使用 pip、virtualenv 或者 conda 來(lái)處理這些問(wèn)題。然而,隨著 Python 項(xiàng)目復(fù)雜度的增加,傳統(tǒng)工具往往顯得力不從心,這時(shí) Poetry 應(yīng)運(yùn)而生,成為一個(gè)更加現(xiàn)代化、簡(jiǎn)潔和高效的工具。

本文將從零開(kāi)始,帶領(lǐng)你快速上手 Poetry,介紹如何使用 Poetry 來(lái)管理 Python 項(xiàng)目,包括安裝、配置、依賴(lài)管理、虛擬環(huán)境和打包發(fā)布等。

什么是 Poetry?

Poetry 是一個(gè) Python 項(xiàng)目的管理工具,它集成了依賴(lài)管理、虛擬環(huán)境管理、包打包、發(fā)布等功能。Poetry 旨在簡(jiǎn)化開(kāi)發(fā)者的工作流程,讓你能夠輕松地管理項(xiàng)目的依賴(lài),確保環(huán)境的一致性,并快速創(chuàng)建和發(fā)布 Python 包。

Poetry 的關(guān)鍵優(yōu)勢(shì)是:

  • 自動(dòng)創(chuàng)建和管理虛擬環(huán)境。
  • 精確的依賴(lài)解析,避免版本沖突。
  • 使用 pyproject.toml 文件簡(jiǎn)化配置和管理。
  • 支持打包、發(fā)布、安裝等一體化功能。

Poetry 的安裝

首先,你需要在你的系統(tǒng)上安裝 Poetry。你可以使用官方推薦的安裝命令來(lái)進(jìn)行安裝:

1. 安裝 Poetry

打開(kāi)終端(命令行),并運(yùn)行以下命令來(lái)安裝 Poetry:

curl -sSL https://install.python-poetry.org | python3 -

或者,如果你是 Windows 用戶(hù),你可以使用以下 PowerShell 命令:

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicP) | python -

安裝完成后,可以通過(guò)以下命令確認(rèn)是否安裝成功:

poetry --version

如果安裝成功,會(huì)輸出 Poetry 的版本號(hào)。

創(chuàng)建一個(gè)新項(xiàng)目

Poetry 提供了一個(gè)非常簡(jiǎn)潔的命令來(lái)初始化新的 Python 項(xiàng)目,它會(huì)自動(dòng)創(chuàng)建必要的文件結(jié)構(gòu)和配置。

2. 創(chuàng)建新項(xiàng)目

在終端中運(yùn)行以下命令,創(chuàng)建一個(gè)新的 Python 項(xiàng)目:

poetry new my_project

這將會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)名為 my_project 的文件夾,并且自動(dòng)生成一個(gè)基本的 Python 項(xiàng)目結(jié)構(gòu)。你會(huì)看到如下文件和文件夾:

my_project/
├── my_project/
│   └── __init__.py
├── pyproject.toml
└── tests/
    └── __init__.py
  • pyproject.toml:這是 Poetry 項(xiàng)目的核心配置文件,所有關(guān)于項(xiàng)目的元數(shù)據(jù)(如依賴(lài)、版本等)都會(huì)寫(xiě)在這個(gè)文件里。
  • my_project/__init__.py:項(xiàng)目的 Python 源代碼文件。
  • tests/:包含測(cè)試代碼的文件夾,Poetry 默認(rèn)為你創(chuàng)建了一個(gè)簡(jiǎn)單的測(cè)試文件夾。

3. 進(jìn)入項(xiàng)目目錄

cd my_project

管理項(xiàng)目依賴(lài)

Poetry 提供了強(qiáng)大的依賴(lài)管理功能,讓你可以精確控制項(xiàng)目所需的包版本,并自動(dòng)處理依賴(lài)的版本沖突。通過(guò)一些簡(jiǎn)單的命令,你可以輕松地安裝、更新和管理項(xiàng)目依賴(lài)。

4. 初始化項(xiàng)目依賴(lài)

如果你已經(jīng)有一個(gè)現(xiàn)有的項(xiàng)目,并且希望使用 Poetry 來(lái)管理其依賴(lài),可以通過(guò)以下命令來(lái)初始化項(xiàng)目并創(chuàng)建 pyproject.toml 文件:

poetry init -n

-n 參數(shù)表示自動(dòng)跳過(guò)交互式提示,直接創(chuàng)建文件。這將會(huì)生成一個(gè) pyproject.toml 文件,并為你提供一個(gè)基礎(chǔ)的依賴(lài)結(jié)構(gòu)。

5. 添加依賴(lài)

當(dāng)你需要向項(xiàng)目中添加一個(gè)新的依賴(lài)時(shí),可以使用 poetry add 命令。舉個(gè)例子,如果你想添加 requests 庫(kù),可以運(yùn)行以下命令:

poetry add requests

這會(huì)將 requests 庫(kù)添加到 pyproject.toml 中,同時(shí) Poetry 會(huì)根據(jù)項(xiàng)目的需要自動(dòng)解決依賴(lài)版本。

如果你需要添加特定版本的依賴(lài),可以使用類(lèi)似下面的命令:

poetry add requests@2.25.0

6. 安裝所有依賴(lài)

如果你從其他地方克隆了一個(gè)項(xiàng)目,并且需要安裝所有的依賴(lài),可以使用 poetry install 命令。它會(huì)根據(jù) pyproject.toml 和 poetry.lock 文件安裝所有的項(xiàng)目依賴(lài):

poetry install

該命令會(huì)自動(dòng)創(chuàng)建并激活虛擬環(huán)境,確保你在隔離的環(huán)境中安裝依賴(lài),從而避免全局包的沖突。

7. 安裝開(kāi)發(fā)依賴(lài)

有些依賴(lài)是只在開(kāi)發(fā)時(shí)需要的,比如測(cè)試框架。Poetry 允許你使用 --dev 參數(shù)來(lái)安裝開(kāi)發(fā)依賴(lài):

poetry add --dev pytest

此時(shí),pytest 將只會(huì)在開(kāi)發(fā)環(huán)境中安裝,不會(huì)影響生產(chǎn)環(huán)境的依賴(lài)。

8. 使用其他 Python 版本

Poetry 允許你指定使用特定的 Python 版本。如果你已經(jīng)安裝了多個(gè) Python 版本,可以通過(guò) poetry env use 命令指定 Python 解釋器的路徑。例如:

poetry env use "path/to/your/python.exe"

這個(gè)命令會(huì)強(qiáng)制 Poetry 使用你指定的 Python 解釋器來(lái)創(chuàng)建虛擬環(huán)境。

9. 使用 requirements.txt

如果你的項(xiàng)目原本使用了 requirements.txt 來(lái)管理依賴(lài),并且你想遷移到 Poetry 上,可以使用以下命令來(lái)安裝 requirements.txt 中的所有依賴(lài):

poetry run pip install -r requirements.txt

這會(huì)在 Poetry 的虛擬環(huán)境中使用 pip 安裝 requirements.txt 中列出的所有依賴(lài)項(xiàng),并確保它們與項(xiàng)目的其他依賴(lài)兼容。

10. 更新依賴(lài)

隨著項(xiàng)目的發(fā)展,依賴(lài)可能會(huì)有新的版本發(fā)布。你可以使用 poetry update 命令來(lái)更新所有依賴(lài)到最新的兼容版本:

poetry update

這將會(huì)根據(jù)你的 pyproject.toml 文件中的版本要求,更新所有已安裝的依賴(lài)。

11. 查看項(xiàng)目的依賴(lài)

如果你想查看當(dāng)前項(xiàng)目的所有依賴(lài),可以使用:

poetry show

這將列出所有直接和間接的依賴(lài)項(xiàng),并提供每個(gè)包的版本和其他詳細(xì)信息。

12. 刪除依賴(lài)

如果某個(gè)依賴(lài)不再需要,你可以使用 poetry remove 命令來(lái)刪除它:

poetry remove requests

這會(huì)將 requests 從 pyproject.toml 文件和 poetry.lock 文件中移除,并卸載它。

通過(guò)這些命令,Poetry 使得依賴(lài)管理變得更加高效和便捷。無(wú)論是添加、更新、安裝開(kāi)發(fā)依賴(lài),還是使用指定的 Python 版本,Poetry 都提供了靈活的工具來(lái)幫助你管理項(xiàng)目的依賴(lài)和虛擬環(huán)境。

虛擬環(huán)境管理

Poetry 自動(dòng)為每個(gè)項(xiàng)目創(chuàng)建和管理虛擬環(huán)境,這樣就能確保你的項(xiàng)目始終在隔離的環(huán)境中運(yùn)行,避免了全局安裝包可能帶來(lái)的沖突。

13. 查看虛擬環(huán)境

如果你想查看 Poetry 創(chuàng)建的虛擬環(huán)境,可以運(yùn)行以下命令:

poetry env list

它會(huì)列出當(dāng)前項(xiàng)目所使用的虛擬環(huán)境。你還可以通過(guò) poetry env use 來(lái)切換 Python 版本。

14. 激活虛擬環(huán)境

你可以通過(guò)以下命令激活虛擬環(huán)境:

poetry shell

這會(huì)激活虛擬環(huán)境,并進(jìn)入一個(gè)新的 shell,你可以在其中運(yùn)行 Python 命令,測(cè)試代碼等。

運(yùn)行項(xiàng)目

Poetry 允許你直接在虛擬環(huán)境中運(yùn)行命令,而不需要先手動(dòng)激活虛擬環(huán)境。

15. 使用 Poetry 運(yùn)行命令

如果你想直接運(yùn)行 Python 腳本,可以使用以下命令:

poetry run python my_project/script.py

poetry run 會(huì)確保命令在 Poetry 管理的虛擬環(huán)境中運(yùn)行。

打包和發(fā)布

當(dāng)你的項(xiàng)目開(kāi)發(fā)完成后,Poetry 還可以幫助你將項(xiàng)目打包并發(fā)布到 PyPI 或其他 Python 包管理平臺(tái)。

16. 打包項(xiàng)目

首先,使用以下命令來(lái)構(gòu)建項(xiàng)目的發(fā)行版:

poetry build

這將會(huì)生成 .tar.gz 和 .whl 格式的包,存放在 dist/ 文件夾中。

17. 發(fā)布到 PyPI

如果你準(zhǔn)備將項(xiàng)目發(fā)布到 PyPI,可以使用以下命令:

poetry publish --repository

 pypi

當(dāng)然,在發(fā)布前,你需要配置 PyPI 的認(rèn)證信息,可以通過(guò) poetry config 命令進(jìn)行配置。

常用 Poetry 命令總結(jié)

命令功能
poetry new <project_name>創(chuàng)建一個(gè)新的 Python 項(xiàng)目
poetry add <package>添加依賴(lài)包到項(xiàng)目中
poetry install安裝項(xiàng)目的所有依賴(lài)
poetry update更新項(xiàng)目依賴(lài)到最新版本
poetry shell啟動(dòng)項(xiàng)目虛擬環(huán)境的 shell
poetry run <command>在虛擬環(huán)境中運(yùn)行指定命令
poetry build打包項(xiàng)目
poetry publish發(fā)布項(xiàng)目到 PyPI
poetry env list查看虛擬環(huán)境

總結(jié)

Poetry 是一個(gè)強(qiáng)大的 Python 項(xiàng)目管理工具,它整合了依賴(lài)管理、虛擬環(huán)境、包打包和發(fā)布等多項(xiàng)功能。通過(guò)簡(jiǎn)潔的命令行界面和易于理解的配置文件,它幫助開(kāi)發(fā)者更高效地管理項(xiàng)目,并避免了版本沖突、依賴(lài)問(wèn)題等常見(jiàn)困擾。

無(wú)論你是 Python 新手還是資深開(kāi)發(fā)者,Poetry 都是一個(gè)值得嘗試的工具。通過(guò)本文的介紹,你已經(jīng)掌握了如何從零開(kāi)始使用 Poetry 管理你的 Python 項(xiàng)目,管理依賴(lài)、虛擬環(huán)境、打包發(fā)布等都變得輕松起來(lái)。

到此這篇關(guān)于Python項(xiàng)目管理的利器Poetry的使用的文章就介紹到這了,更多相關(guān)Python Poetry內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例(靜態(tài)圖片,gif皆可)

    Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例(靜態(tài)圖片,gif皆可)

    這篇文章主要介紹了Python 實(shí)現(xiàn)圖片轉(zhuǎn)字符畫(huà)的示例,幫助大家更好的利用python進(jìn)行圖片處理,感興趣的朋友可以了解下
    2020-11-11
  • Python Paramiko模塊的安裝與使用詳解

    Python Paramiko模塊的安裝與使用詳解

    最近閑著學(xué)習(xí)python,看到有個(gè)paramiko模塊,貌似很強(qiáng)大,所以從網(wǎng)上學(xué)習(xí)后總結(jié)了這篇文章,下面這篇文章就給大家介紹了Python中Paramiko模塊的安裝與使用,文中介紹的很詳細(xì),相信對(duì)大家的學(xué)習(xí)很有幫助,有需要的朋友們下面來(lái)一起看看吧。
    2016-11-11
  • python多進(jìn)程實(shí)現(xiàn)數(shù)據(jù)共享的示例代碼

    python多進(jìn)程實(shí)現(xiàn)數(shù)據(jù)共享的示例代碼

    本文介紹了Python中多進(jìn)程實(shí)現(xiàn)數(shù)據(jù)共享的方法,包括使用multiprocessing模塊和manager模塊這兩種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2025-01-01
  • K-means聚類(lèi)算法介紹與利用python實(shí)現(xiàn)的代碼示例

    K-means聚類(lèi)算法介紹與利用python實(shí)現(xiàn)的代碼示例

    K-means聚類(lèi)算法(事先數(shù)據(jù)并沒(méi)有類(lèi)別之分!所有的數(shù)據(jù)都是一樣的)是我們大家應(yīng)該都聽(tīng)過(guò)的一種算法,下面這篇文章主要給大家介紹了關(guān)于K-means聚類(lèi)算法的基礎(chǔ)知識(shí)與利用python如何實(shí)現(xiàn)該算法的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-11-11
  • python利用sklearn包編寫(xiě)決策樹(shù)源代碼

    python利用sklearn包編寫(xiě)決策樹(shù)源代碼

    這篇文章主要為大家詳細(xì)介紹了python利用sklearn包編寫(xiě)決策樹(shù)源代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python深度學(xué)習(xí)之使用Albumentations對(duì)圖像做增強(qiáng)

    Python深度學(xué)習(xí)之使用Albumentations對(duì)圖像做增強(qiáng)

    諸如RandomCrop和CenterCrop之類(lèi)的某些增強(qiáng)功能可能會(huì)變換圖像,使其不包含所有原始邊界框. 本示例說(shuō)明如何使用名為RandomSizedBBoxSafeCrop的變換來(lái)裁剪圖像的一部分,但保留原始圖像的所有邊界框,需要的朋友可以參考下
    2021-05-05
  • 通過(guò)實(shí)例簡(jiǎn)單了解Python中yield的作用

    通過(guò)實(shí)例簡(jiǎn)單了解Python中yield的作用

    這篇文章主要介紹了通過(guò)實(shí)例簡(jiǎn)單了解Python中yield的作用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 解決pytorch讀取自制數(shù)據(jù)集出現(xiàn)過(guò)的問(wèn)題

    解決pytorch讀取自制數(shù)據(jù)集出現(xiàn)過(guò)的問(wèn)題

    這篇文章主要介紹了解決pytorch讀取自制數(shù)據(jù)集出現(xiàn)過(guò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 新手常見(jiàn)Python錯(cuò)誤及異常解決處理方案

    新手常見(jiàn)Python錯(cuò)誤及異常解決處理方案

    這篇文章主要介紹了新手常見(jiàn)Python錯(cuò)誤及異常解決處理方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python如何隨機(jī)生成高強(qiáng)度密碼

    python如何隨機(jī)生成高強(qiáng)度密碼

    這篇文章主要為大家詳細(xì)介紹了python隨機(jī)生成高強(qiáng)度密碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-08-08

最新評(píng)論

濮阳市| 古田县| 来安县| 禹州市| 台湾省| 岑溪市| 三亚市| 宁津县| 册亨县| 景德镇市| 安国市| 上虞市| 东莞市| 马山县| 宜春市| 江达县| 甘洛县| 府谷县| 仪陇县| 枝江市| 临城县| 当阳市| 新宁县| 曲松县| 沙田区| 思南县| 当雄县| 安岳县| 竹山县| 黑山县| 湾仔区| 三门峡市| 铅山县| 蓬莱市| 突泉县| 中方县| 玉田县| 长寿区| 广西| 定陶县| 栾城县|