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

python中Poetry包管理工具詳解

 更新時間:2025年11月02日 10:41:29   作者:言之。  
Poetry是Python的現(xiàn)代化一站式工具,整合了依賴管理、虛擬環(huán)境管理和打包發(fā)布功能,相比傳統(tǒng) pip+virtualenv,它通過聲明式配置和鎖文件解決依賴混亂問題,感興趣的可以了解一下

Poetry 是 Python 的現(xiàn)代化包管理與項(xiàng)目構(gòu)建工具,目標(biāo)是統(tǒng)一項(xiàng)目依賴管理、虛擬環(huán)境管理與打包發(fā)布流程。

它解決了傳統(tǒng) Python 項(xiàng)目中常見的幾個痛點(diǎn):

  • pip + requirements.txt 依賴管理混亂、不易鎖定版本;
  • virtualenv 虛擬環(huán)境管理與依賴管理分離;
  • setup.py 打包發(fā)布過程復(fù)雜;
  • 不支持聲明式的依賴配置。

一句話總結(jié):
Poetry 是一個集 包依賴管理 + 虛擬環(huán)境管理 + 構(gòu)建與發(fā)布 于一體的工具。

二、Poetry 的核心特性

功能說明
?? 統(tǒng)一依賴管理通過 pyproject.toml 聲明依賴,自動生成鎖文件 poetry.lock,確保依賴可重現(xiàn)性。
?? 自動虛擬環(huán)境自動創(chuàng)建并管理獨(dú)立的虛擬環(huán)境,無需手動 venvvirtualenv。
?? 項(xiàng)目構(gòu)建與發(fā)布一條命令即可構(gòu)建并發(fā)布到 PyPI 或私有倉庫。
?? 精確鎖定版本使用 poetry.lock 精確記錄依賴的版本與來源,避免“works on my machine”。
?? 聲明式配置使用 pyproject.toml(PEP 518/621 標(biāo)準(zhǔn))統(tǒng)一項(xiàng)目元數(shù)據(jù)與依賴信息。

三、Poetry vs pip + virtualenv

對比項(xiàng)pip + virtualenvPoetry
依賴聲明requirements.txtpyproject.toml
依賴鎖定手動自動生成 poetry.lock
虛擬環(huán)境需手動創(chuàng)建與激活自動創(chuàng)建與管理
構(gòu)建發(fā)布需編寫 setup.pypoetry build + poetry publish
版本沖突處理手動調(diào)試內(nèi)置版本解析器自動解決
可重現(xiàn)環(huán)境強(qiáng)(依賴鎖定)

四、Poetry 安裝

推薦使用官方安裝腳本:

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

安裝后可檢查版本:

poetry --version

安裝路徑通常位于 ~/.local/bin/poetry(Linux/Mac)或 %APPDATA%\pypoetry(Windows)。

五、Poetry 項(xiàng)目結(jié)構(gòu)

創(chuàng)建新項(xiàng)目:

poetry new myproject

生成的目錄結(jié)構(gòu)如下:

myproject/
├── pyproject.toml        # 項(xiàng)目配置文件
├── poetry.lock           # 依賴鎖定文件(首次 install 后生成)
├── myproject/            # 包代碼
│   └── __init__.py
└── tests/                # 測試代碼

六、依賴管理命令

1. 添加依賴

poetry add requests

添加開發(fā)依賴:

poetry add --dev pytest black

自動更新 pyproject.tomlpoetry.lock。

2. 安裝依賴

poetry install

安裝指定環(huán)境下的依賴(例如生產(chǎn)):

poetry install --without dev

3. 移除依賴

poetry remove requests

4. 更新依賴

poetry update

5. 查看依賴樹

poetry show --tree

七、虛擬環(huán)境管理

Poetry 自動為每個項(xiàng)目創(chuàng)建獨(dú)立虛擬環(huán)境。
常用命令如下:

命令說明
poetry env list列出虛擬環(huán)境
poetry env info顯示當(dāng)前虛擬環(huán)境信息
poetry shell激活虛擬環(huán)境
poetry run python在虛擬環(huán)境中執(zhí)行命令(不進(jìn)入 shell)

例如:

poetry run pytest

八、構(gòu)建與發(fā)布

構(gòu)建包

poetry build

生成:

dist/
├── myproject-0.1.0.tar.gz
└── myproject-0.1.0-py3-none-any.whl

發(fā)布到 PyPI

poetry publish --build --username <user> --password <pass>

或使用 token:

poetry config pypi-token.pypi <your-token>
poetry publish --build

九、配置文件詳解:pyproject.toml

示例:

[tool.poetry]
name = "myproject"
version = "0.1.0"
description = "A simple example project"
authors = ["Alice <alice@example.com>"]
readme = "README.md"
license = "MIT"

[tool.poetry.dependencies]
python = "^3.9"
requests = "^2.31"

[tool.poetry.group.dev.dependencies]
pytest = "^8.0"
black = "^24.0"

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

十、Poetry 常用工作流示例

# 初始化項(xiàng)目
poetry init

# 添加依賴
poetry add fastapi uvicorn

# 激活環(huán)境
poetry shell

# 啟動服務(wù)
poetry run uvicorn app.main:app --reload

# 生成鎖文件并安裝依賴
poetry install

# 構(gòu)建并發(fā)布包
poetry build && poetry publish

十一、與其他工具集成

  • ? 支持 PyCharm / VS Code 自動識別 Poetry 虛擬環(huán)境;
  • ? 可與 Docker 集成(可直接復(fù)制 .venv 或使用 poetry export 導(dǎo)出 requirements.txt);
  • ? 支持 多環(huán)境依賴管理(dev/test/prod)。

十二、實(shí)用技巧

場景命令
導(dǎo)出為 requirements.txtpoetry export -f requirements.txt --output requirements.txt
強(qiáng)制重新創(chuàng)建虛擬環(huán)境poetry env remove python && poetry install
僅更新某個包poetry update requests
檢查安全漏洞poetry check

? 總結(jié)

優(yōu)點(diǎn)缺點(diǎn)
統(tǒng)一依賴、環(huán)境、構(gòu)建管理首次學(xué)習(xí)曲線略高
更安全的依賴鎖定機(jī)制與某些舊版工具兼容性差
簡化包發(fā)布流程CI/CD 集成需額外配置
自動虛擬環(huán)境、可重現(xiàn)性強(qiáng)需適應(yīng)新語法(pyproject.toml)

到此這篇關(guān)于python中Poetry包管理工具詳解的文章就介紹到這了,更多相關(guān)python Poetry包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python .py生成.pyd文件并打包.exe 的注意事項(xiàng)說明

    Python .py生成.pyd文件并打包.exe 的注意事項(xiàng)說明

    這篇文章主要介紹了Python .py生成.pyd文件并打包.exe 的注意事項(xiàng)說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • pandas的resample重采樣的使用

    pandas的resample重采樣的使用

    這篇文章主要介紹了pandas的resample重采樣的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 利用Python和PyQt5構(gòu)建一個多功能PDF轉(zhuǎn)換器

    利用Python和PyQt5構(gòu)建一個多功能PDF轉(zhuǎn)換器

    在日常工作中,處理PDF文件幾乎是每個人都不可避免的任務(wù),本文將通過Python和PyQt5搭建一個強(qiáng)大的PDF文件處理平臺,希望對大家有所幫助
    2024-12-12
  • python3+telnetlib實(shí)現(xiàn)簡單自動測試示例詳解

    python3+telnetlib實(shí)現(xiàn)簡單自動測試示例詳解

    telnetlib 模塊提供一個實(shí)現(xiàn)Telnet協(xié)議的類 Telnet,本文重點(diǎn)給大家介紹python3+telnetlib實(shí)現(xiàn)簡單自動測試示例詳解,需要的朋友可以參考下
    2021-08-08
  • python基礎(chǔ)之并發(fā)編程(二)

    python基礎(chǔ)之并發(fā)編程(二)

    這篇文章主要介紹了詳解python的并發(fā)編程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • 用python畫城市輪播地圖

    用python畫城市輪播地圖

    輪播地圖可以在很多方面有實(shí)際應(yīng)用,所以就介紹給大家,并給出個實(shí)際操作案例,感興趣的朋友可以參考下
    2021-05-05
  • Python實(shí)現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割代碼

    Python實(shí)現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割代碼

    這篇文章主要介紹了Python實(shí)現(xiàn)統(tǒng)計英文單詞個數(shù)及字符串分割方法,本文分別給出代碼實(shí)例,需要的朋友可以參考下
    2015-05-05
  • Python中join()函數(shù)多種操作代碼實(shí)例

    Python中join()函數(shù)多種操作代碼實(shí)例

    這篇文章主要介紹了Python中join()函數(shù)多種操作代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • Python中json庫的操作指南

    Python中json庫的操作指南

    JSON是存儲和交換文本信息的語法,類似XML,JSON比XML更小、更快,更易解析,且易于人閱讀和編寫,下面這篇文章主要給大家介紹了關(guān)于Python中json庫的操作指南,需要的朋友可以參考下
    2023-04-04
  • 詳解Python中的編碼問題(encoding與decode、str與bytes)

    詳解Python中的編碼問題(encoding與decode、str與bytes)

    這篇文章主要介紹了Python中的編碼問題(encoding與decode、str與bytes),幫助大家更好的理解和使用python進(jìn)行開發(fā),感興趣的朋友可以了解下
    2020-09-09

最新評論

雷波县| 车险| 武功县| 四子王旗| 永清县| 商都县| 德安县| 科技| 凉山| 新平| 平泉县| 象山县| 响水县| 枞阳县| 阿勒泰市| 连城县| 榆社县| 扶余县| 临江市| 延吉市| 沈阳市| 望江县| 渝北区| 南川市| 汉中市| 佛冈县| 曲靖市| 锦州市| 渑池县| 霍州市| 盐边县| 长治市| 襄汾县| 瑞丽市| 丁青县| 勃利县| 开化县| 兴宁市| 珠海市| 依兰县| 治县。|